YES 4.3420000000000005 H-Termination proof of /home/matraf/haskell/eval_FullyBlown_Fast/empty.hs
H-Termination of the given Haskell-Program with start terms could successfully be proven:



HASKELL
  ↳ CR

mainModule Main
  ((maximum :: (Ord b, Ord a) => [Either b a ->  Either b a) :: (Ord b, Ord a) => [Either b a ->  Either b a)

module Main where
  import qualified Prelude



Case Reductions:
The following Case expression
case compare x y of
 EQ → o
 LT → LT
 GT → GT

is transformed to
primCompAux0 o EQ = o
primCompAux0 o LT = LT
primCompAux0 o GT = GT



↳ HASKELL
  ↳ CR
HASKELL
      ↳ IFR

mainModule Main
  ((maximum :: (Ord b, Ord a) => [Either b a ->  Either b a) :: (Ord b, Ord a) => [Either b a ->  Either b a)

module Main where
  import qualified Prelude



If Reductions:
The following If expression
if primGEqNatS x y then Succ (primDivNatS (primMinusNatS x y) (Succ y)) else Zero

is transformed to
primDivNatS0 x y True = Succ (primDivNatS (primMinusNatS x y) (Succ y))
primDivNatS0 x y False = Zero

The following If expression
if primGEqNatS x y then primModNatS (primMinusNatS x y) (Succ y) else Succ x

is transformed to
primModNatS0 x y True = primModNatS (primMinusNatS x y) (Succ y)
primModNatS0 x y False = Succ x



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
HASKELL
          ↳ BR

mainModule Main
  ((maximum :: (Ord a, Ord b) => [Either a b ->  Either a b) :: (Ord a, Ord b) => [Either a b ->  Either a b)

module Main where
  import qualified Prelude



Replaced joker patterns by fresh variables and removed binding patterns.

↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
HASKELL
              ↳ COR

mainModule Main
  ((maximum :: (Ord a, Ord b) => [Either a b ->  Either a b) :: (Ord b, Ord a) => [Either a b ->  Either a b)

module Main where
  import qualified Prelude



Cond Reductions:
The following Function with conditions
compare x y
 | x == y
 = EQ
 | x <= y
 = LT
 | otherwise
 = GT

is transformed to
compare x y = compare3 x y

compare0 x y True = GT

compare2 x y True = EQ
compare2 x y False = compare1 x y (x <= y)

compare1 x y True = LT
compare1 x y False = compare0 x y otherwise

compare3 x y = compare2 x y (x == y)

The following Function with conditions
max x y
 | x <= y
 = y
 | otherwise
 = x

is transformed to
max x y = max2 x y

max1 x y True = y
max1 x y False = max0 x y otherwise

max0 x y True = x

max2 x y = max1 x y (x <= y)

The following Function with conditions
gcd' x 0 = x
gcd' x y = gcd' y (x `rem` y)

is transformed to
gcd' x zx = gcd'2 x zx
gcd' x y = gcd'0 x y

gcd'0 x y = gcd' y (x `rem` y)

gcd'1 True x zx = x
gcd'1 zy zz vuu = gcd'0 zz vuu

gcd'2 x zx = gcd'1 (zx == 0) x zx
gcd'2 vuv vuw = gcd'0 vuv vuw

The following Function with conditions
gcd 0 0 = error []
gcd x y = 
gcd' (abs x) (abs y)
where 
gcd' x 0 = x
gcd' x y = gcd' y (x `rem` y)

is transformed to
gcd vux vuy = gcd3 vux vuy
gcd x y = gcd0 x y

gcd0 x y = 
gcd' (abs x) (abs y)
where 
gcd' x zx = gcd'2 x zx
gcd' x y = gcd'0 x y
gcd'0 x y = gcd' y (x `rem` y)
gcd'1 True x zx = x
gcd'1 zy zz vuu = gcd'0 zz vuu
gcd'2 x zx = gcd'1 (zx == 0) x zx
gcd'2 vuv vuw = gcd'0 vuv vuw

gcd1 True vux vuy = error []
gcd1 vuz vvu vvv = gcd0 vvu vvv

gcd2 True vux vuy = gcd1 (vuy == 0) vux vuy
gcd2 vvw vvx vvy = gcd0 vvx vvy

gcd3 vux vuy = gcd2 (vux == 0) vux vuy
gcd3 vvz vwu = gcd0 vvz vwu

The following Function with conditions
absReal x
 | x >= 0
 = x
 | otherwise
 = `negate` x

is transformed to
absReal x = absReal2 x

absReal1 x True = x
absReal1 x False = absReal0 x otherwise

absReal0 x True = `negate` x

absReal2 x = absReal1 x (x >= 0)

The following Function with conditions
undefined 
 | False
 = undefined

is transformed to
undefined  = undefined1

undefined0 True = undefined

undefined1  = undefined0 False

The following Function with conditions
reduce x y
 | y == 0
 = error []
 | otherwise
 = x `quot` d :% (y `quot` d)
where 
d  = gcd x y

is transformed to
reduce x y = reduce2 x y

reduce2 x y = 
reduce1 x y (y == 0)
where 
d  = gcd x y
reduce0 x y True = x `quot` d :% (y `quot` d)
reduce1 x y True = error []
reduce1 x y False = reduce0 x y otherwise



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
HASKELL
                  ↳ LetRed

mainModule Main
  ((maximum :: (Ord a, Ord b) => [Either a b ->  Either a b) :: (Ord a, Ord b) => [Either a b ->  Either a b)

module Main where
  import qualified Prelude



Let/Where Reductions:
The bindings of the following Let/Where expression
reduce1 x y (y == 0)
where 
d  = gcd x y
reduce0 x y True = x `quot` d :% (y `quot` d)
reduce1 x y True = error []
reduce1 x y False = reduce0 x y otherwise

are unpacked to the following functions on top level
reduce2Reduce0 vwv vww x y True = x `quot` reduce2D vwv vww :% (y `quot` reduce2D vwv vww)

reduce2Reduce1 vwv vww x y True = error []
reduce2Reduce1 vwv vww x y False = reduce2Reduce0 vwv vww x y otherwise

reduce2D vwv vww = gcd vwv vww

The bindings of the following Let/Where expression
gcd' (abs x) (abs y)
where 
gcd' x zx = gcd'2 x zx
gcd' x y = gcd'0 x y
gcd'0 x y = gcd' y (x `rem` y)
gcd'1 True x zx = x
gcd'1 zy zz vuu = gcd'0 zz vuu
gcd'2 x zx = gcd'1 (zx == 0) x zx
gcd'2 vuv vuw = gcd'0 vuv vuw

are unpacked to the following functions on top level
gcd0Gcd'1 True x zx = x
gcd0Gcd'1 zy zz vuu = gcd0Gcd'0 zz vuu

gcd0Gcd'0 x y = gcd0Gcd' y (x `rem` y)

gcd0Gcd'2 x zx = gcd0Gcd'1 (zx == 0) x zx
gcd0Gcd'2 vuv vuw = gcd0Gcd'0 vuv vuw

gcd0Gcd' x zx = gcd0Gcd'2 x zx
gcd0Gcd' x y = gcd0Gcd'0 x y



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
HASKELL
                      ↳ NumRed

mainModule Main
  ((maximum :: (Ord b, Ord a) => [Either a b ->  Either a b) :: (Ord b, Ord a) => [Either a b ->  Either a b)

module Main where
  import qualified Prelude



Num Reduction: All numbers are transformed to thier corresponding representation with Pos, Neg, Succ and Zero.

↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
                    ↳ HASKELL
                      ↳ NumRed
HASKELL
                          ↳ Narrow

mainModule Main
  (maximum :: (Ord a, Ord b) => [Either a b ->  Either a b)

module Main where
  import qualified Prelude



Haskell To QDPs


↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
                    ↳ HASKELL
                      ↳ NumRed
                        ↳ HASKELL
                          ↳ Narrow
                            ↳ AND
QDP
                                ↳ QDPSizeChangeProof
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primCmpNat(Succ(vwx30000), Succ(vwx310000)) → new_primCmpNat(vwx30000, vwx310000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
                    ↳ HASKELL
                      ↳ NumRed
                        ↳ HASKELL
                          ↳ Narrow
                            ↳ AND
                              ↳ QDP
QDP
                                ↳ QDPSizeChangeProof
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primPlusNat(Succ(vwx6600), Succ(vwx31000000)) → new_primPlusNat(vwx6600, vwx31000000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
                    ↳ HASKELL
                      ↳ NumRed
                        ↳ HASKELL
                          ↳ Narrow
                            ↳ AND
                              ↳ QDP
                              ↳ QDP
QDP
                                ↳ QDPSizeChangeProof
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primMulNat(Succ(vwx300000), Succ(vwx3100000)) → new_primMulNat(vwx300000, Succ(vwx3100000))

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
                    ↳ HASKELL
                      ↳ NumRed
                        ↳ HASKELL
                          ↳ Narrow
                            ↳ AND
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
QDP
                                ↳ QDPSizeChangeProof
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primEqNat(Succ(vwx3600), Succ(vwx3700)) → new_primEqNat(vwx3600, vwx3700)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
                    ↳ HASKELL
                      ↳ NumRed
                        ↳ HASKELL
                          ↳ Narrow
                            ↳ AND
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
QDP
                                ↳ QDPSizeChangeProof
                              ↳ QDP
                              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_esEs3(@3(vwx360, vwx361, vwx362), @3(vwx370, vwx371, vwx372), baf, app(app(ty_@2, bce), bcf), bcc) → new_esEs1(vwx361, vwx371, bce, bcf)
new_esEs3(@3(vwx360, vwx361, vwx362), @3(vwx370, vwx371, vwx372), baf, app(ty_Maybe, bcg), bcc) → new_esEs2(vwx361, vwx371, bcg)
new_esEs0(Left(vwx360), Left(vwx370), app(ty_[], cf), ce) → new_esEs(vwx360, vwx370, cf)
new_esEs2(Just(vwx360), Just(vwx370), app(ty_[], hg)) → new_esEs(vwx360, vwx370, hg)
new_esEs1(@2(vwx360, vwx361), @2(vwx370, vwx371), eh, app(app(app(ty_@3, fh), ga), gb)) → new_esEs3(vwx361, vwx371, fh, ga, gb)
new_esEs3(@3(vwx360, vwx361, vwx362), @3(vwx370, vwx371, vwx372), baf, bag, app(app(app(ty_@3, bbf), bbg), bbh)) → new_esEs3(vwx362, vwx372, bbf, bbg, bbh)
new_esEs3(@3(vwx360, vwx361, vwx362), @3(vwx370, vwx371, vwx372), baf, bag, app(ty_[], bbb)) → new_esEs(vwx362, vwx372, bbb)
new_esEs1(@2(vwx360, vwx361), @2(vwx370, vwx371), app(app(ty_Either, gc), gd), ge) → new_esEs0(vwx360, vwx370, gc, gd)
new_esEs1(@2(vwx360, vwx361), @2(vwx370, vwx371), eh, app(app(ty_Either, fa), fb)) → new_esEs0(vwx361, vwx371, fa, fb)
new_esEs3(@3(vwx360, vwx361, vwx362), @3(vwx370, vwx371, vwx372), app(app(ty_@2, bdf), bdg), bag, bcc) → new_esEs1(vwx360, vwx370, bdf, bdg)
new_esEs(:(vwx360, vwx361), :(vwx370, vwx371), app(app(app(ty_@3, bh), ca), cb)) → new_esEs3(vwx360, vwx370, bh, ca, cb)
new_esEs0(Right(vwx360), Right(vwx370), df, app(app(ty_@2, eb), ec)) → new_esEs1(vwx360, vwx370, eb, ec)
new_esEs3(@3(vwx360, vwx361, vwx362), @3(vwx370, vwx371, vwx372), app(ty_[], bde), bag, bcc) → new_esEs(vwx360, vwx370, bde)
new_esEs3(@3(vwx360, vwx361, vwx362), @3(vwx370, vwx371, vwx372), baf, app(ty_[], bcd), bcc) → new_esEs(vwx361, vwx371, bcd)
new_esEs0(Left(vwx360), Left(vwx370), app(app(app(ty_@3, dc), dd), de), ce) → new_esEs3(vwx360, vwx370, dc, dd, de)
new_esEs2(Just(vwx360), Just(vwx370), app(ty_Maybe, bab)) → new_esEs2(vwx360, vwx370, bab)
new_esEs0(Left(vwx360), Left(vwx370), app(app(ty_Either, cc), cd), ce) → new_esEs0(vwx360, vwx370, cc, cd)
new_esEs2(Just(vwx360), Just(vwx370), app(app(ty_@2, hh), baa)) → new_esEs1(vwx360, vwx370, hh, baa)
new_esEs1(@2(vwx360, vwx361), @2(vwx370, vwx371), eh, app(ty_[], fc)) → new_esEs(vwx361, vwx371, fc)
new_esEs(:(vwx360, vwx361), :(vwx370, vwx371), app(ty_Maybe, bg)) → new_esEs2(vwx360, vwx370, bg)
new_esEs1(@2(vwx360, vwx361), @2(vwx370, vwx371), app(ty_Maybe, ha), ge) → new_esEs2(vwx360, vwx370, ha)
new_esEs0(Right(vwx360), Right(vwx370), df, app(app(app(ty_@3, ee), ef), eg)) → new_esEs3(vwx360, vwx370, ee, ef, eg)
new_esEs1(@2(vwx360, vwx361), @2(vwx370, vwx371), app(ty_[], gf), ge) → new_esEs(vwx360, vwx370, gf)
new_esEs0(Right(vwx360), Right(vwx370), df, app(app(ty_Either, dg), dh)) → new_esEs0(vwx360, vwx370, dg, dh)
new_esEs0(Left(vwx360), Left(vwx370), app(ty_Maybe, db), ce) → new_esEs2(vwx360, vwx370, db)
new_esEs0(Right(vwx360), Right(vwx370), df, app(ty_Maybe, ed)) → new_esEs2(vwx360, vwx370, ed)
new_esEs1(@2(vwx360, vwx361), @2(vwx370, vwx371), eh, app(app(ty_@2, fd), ff)) → new_esEs1(vwx361, vwx371, fd, ff)
new_esEs(:(vwx360, vwx361), :(vwx370, vwx371), app(app(ty_@2, be), bf)) → new_esEs1(vwx360, vwx370, be, bf)
new_esEs3(@3(vwx360, vwx361, vwx362), @3(vwx370, vwx371, vwx372), baf, app(app(app(ty_@3, bch), bda), bdb), bcc) → new_esEs3(vwx361, vwx371, bch, bda, bdb)
new_esEs(:(vwx360, vwx361), :(vwx370, vwx371), app(app(ty_Either, bb), bc)) → new_esEs0(vwx360, vwx370, bb, bc)
new_esEs(:(vwx360, vwx361), :(vwx370, vwx371), ba) → new_esEs(vwx361, vwx371, ba)
new_esEs3(@3(vwx360, vwx361, vwx362), @3(vwx370, vwx371, vwx372), baf, bag, app(app(ty_@2, bbc), bbd)) → new_esEs1(vwx362, vwx372, bbc, bbd)
new_esEs1(@2(vwx360, vwx361), @2(vwx370, vwx371), app(app(app(ty_@3, hb), hc), hd), ge) → new_esEs3(vwx360, vwx370, hb, hc, hd)
new_esEs1(@2(vwx360, vwx361), @2(vwx370, vwx371), app(app(ty_@2, gg), gh), ge) → new_esEs1(vwx360, vwx370, gg, gh)
new_esEs3(@3(vwx360, vwx361, vwx362), @3(vwx370, vwx371, vwx372), baf, bag, app(ty_Maybe, bbe)) → new_esEs2(vwx362, vwx372, bbe)
new_esEs3(@3(vwx360, vwx361, vwx362), @3(vwx370, vwx371, vwx372), app(ty_Maybe, bdh), bag, bcc) → new_esEs2(vwx360, vwx370, bdh)
new_esEs0(Right(vwx360), Right(vwx370), df, app(ty_[], ea)) → new_esEs(vwx360, vwx370, ea)
new_esEs1(@2(vwx360, vwx361), @2(vwx370, vwx371), eh, app(ty_Maybe, fg)) → new_esEs2(vwx361, vwx371, fg)
new_esEs2(Just(vwx360), Just(vwx370), app(app(ty_Either, he), hf)) → new_esEs0(vwx360, vwx370, he, hf)
new_esEs2(Just(vwx360), Just(vwx370), app(app(app(ty_@3, bac), bad), bae)) → new_esEs3(vwx360, vwx370, bac, bad, bae)
new_esEs3(@3(vwx360, vwx361, vwx362), @3(vwx370, vwx371, vwx372), baf, app(app(ty_Either, bca), bcb), bcc) → new_esEs0(vwx361, vwx371, bca, bcb)
new_esEs3(@3(vwx360, vwx361, vwx362), @3(vwx370, vwx371, vwx372), baf, bag, app(app(ty_Either, bah), bba)) → new_esEs0(vwx362, vwx372, bah, bba)
new_esEs(:(vwx360, vwx361), :(vwx370, vwx371), app(ty_[], bd)) → new_esEs(vwx360, vwx370, bd)
new_esEs3(@3(vwx360, vwx361, vwx362), @3(vwx370, vwx371, vwx372), app(app(app(ty_@3, bea), beb), bec), bag, bcc) → new_esEs3(vwx360, vwx370, bea, beb, bec)
new_esEs0(Left(vwx360), Left(vwx370), app(app(ty_@2, cg), da), ce) → new_esEs1(vwx360, vwx370, cg, da)
new_esEs3(@3(vwx360, vwx361, vwx362), @3(vwx370, vwx371, vwx372), app(app(ty_Either, bdc), bdd), bag, bcc) → new_esEs0(vwx360, vwx370, bdc, bdd)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
                    ↳ HASKELL
                      ↳ NumRed
                        ↳ HASKELL
                          ↳ Narrow
                            ↳ AND
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
QDP
                                ↳ QDPSizeChangeProof
                              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_lt3(vwx3000, vwx31000, cb) → new_compare22(vwx3000, vwx31000, new_esEs7(vwx3000, vwx31000, cb), cb)
new_lt(vwx3000, vwx31000, ba, bb) → new_compare2(vwx3000, vwx31000, new_esEs4(vwx3000, vwx31000, ba, bb), ba, bb)
new_ltEs0(Right(vwx3000), Right(vwx31000), eh, app(ty_Maybe, gb)) → new_ltEs3(vwx3000, vwx31000, gb)
new_compare2(vwx3000, vwx31000, False, ba, bb) → new_ltEs(vwx3000, vwx31000, ba, bb)
new_compare0(:(vwx3000, vwx3001), :(vwx31000, vwx31001), gc) → new_primCompAux(vwx3000, vwx31000, new_compare3(vwx3001, vwx31001, gc), gc)
new_ltEs0(Left(vwx3000), Left(vwx31000), app(app(app(ty_@3, ed), ee), ef), dh) → new_ltEs2(vwx3000, vwx31000, ed, ee, ef)
new_ltEs2(@3(vwx3000, vwx3001, vwx3002), @3(vwx31000, vwx31001, vwx31002), app(ty_Maybe, bag), hg, hh) → new_lt3(vwx3000, vwx31000, bag)
new_ltEs2(@3(vwx3000, vwx3001, vwx3002), @3(vwx31000, vwx31001, vwx31002), bah, hg, app(app(app(ty_@3, bcg), bch), bda)) → new_ltEs2(vwx3002, vwx31002, bcg, bch, bda)
new_ltEs2(@3(vwx3000, vwx3001, vwx3002), @3(vwx31000, vwx31001, vwx31002), bah, app(ty_Maybe, bca), hh) → new_lt3(vwx3001, vwx31001, bca)
new_ltEs(@2(vwx3000, vwx3001), @2(vwx31000, vwx31001), cc, app(ty_[], da)) → new_ltEs1(vwx3001, vwx31001, da)
new_ltEs(@2(vwx3000, vwx3001), @2(vwx31000, vwx31001), app(app(ty_Either, bd), be), bc) → new_compare20(vwx3000, vwx31000, new_esEs5(vwx3000, vwx31000, bd, be), bd, be)
new_ltEs0(Left(vwx3000), Left(vwx31000), app(ty_Maybe, eg), dh) → new_ltEs3(vwx3000, vwx31000, eg)
new_compare0(:(vwx3000, vwx3001), :(vwx31000, vwx31001), gc) → new_compare0(vwx3001, vwx31001, gc)
new_ltEs(@2(vwx3000, vwx3001), @2(vwx31000, vwx31001), app(app(app(ty_@3, bg), bh), ca), bc) → new_compare21(vwx3000, vwx31000, new_esEs6(vwx3000, vwx31000, bg, bh, ca), bg, bh, ca)
new_ltEs2(@3(vwx3000, vwx3001, vwx3002), @3(vwx31000, vwx31001, vwx31002), bah, app(app(app(ty_@3, bbf), bbg), bbh), hh) → new_lt2(vwx3001, vwx31001, bbf, bbg, bbh)
new_compare(vwx3000, vwx31000, ba, bb) → new_compare2(vwx3000, vwx31000, new_esEs4(vwx3000, vwx31000, ba, bb), ba, bb)
new_ltEs1(:(vwx3000, vwx3001), :(vwx31000, vwx31001), gc) → new_primCompAux(vwx3000, vwx31000, new_compare3(vwx3001, vwx31001, gc), gc)
new_ltEs0(Left(vwx3000), Left(vwx31000), app(ty_[], ec), dh) → new_ltEs1(vwx3000, vwx31000, ec)
new_ltEs0(Left(vwx3000), Left(vwx31000), app(app(ty_Either, ea), eb), dh) → new_ltEs0(vwx3000, vwx31000, ea, eb)
new_compare5(vwx3000, vwx31000, cb) → new_compare22(vwx3000, vwx31000, new_esEs7(vwx3000, vwx31000, cb), cb)
new_ltEs(@2(vwx3000, vwx3001), @2(vwx31000, vwx31001), cc, app(ty_Maybe, de)) → new_ltEs3(vwx3001, vwx31001, de)
new_compare22(vwx3000, vwx31000, False, cb) → new_ltEs3(vwx3000, vwx31000, cb)
new_ltEs3(Just(vwx3000), Just(vwx31000), app(app(ty_Either, bde), bdf)) → new_ltEs0(vwx3000, vwx31000, bde, bdf)
new_ltEs(@2(vwx3000, vwx3001), @2(vwx31000, vwx31001), app(ty_[], bf), bc) → new_compare0(vwx3000, vwx31000, bf)
new_ltEs(@2(vwx3000, vwx3001), @2(vwx31000, vwx31001), cc, app(app(app(ty_@3, db), dc), dd)) → new_ltEs2(vwx3001, vwx31001, db, dc, dd)
new_ltEs0(Right(vwx3000), Right(vwx31000), eh, app(app(ty_@2, fa), fb)) → new_ltEs(vwx3000, vwx31000, fa, fb)
new_primCompAux(vwx3000, vwx31000, vwx48, app(ty_[], gh)) → new_compare0(vwx3000, vwx31000, gh)
new_lt0(vwx3000, vwx31000, bd, be) → new_compare20(vwx3000, vwx31000, new_esEs5(vwx3000, vwx31000, bd, be), bd, be)
new_ltEs2(@3(vwx3000, vwx3001, vwx3002), @3(vwx31000, vwx31001, vwx31002), app(ty_[], bac), hg, hh) → new_lt1(vwx3000, vwx31000, bac)
new_compare4(vwx3000, vwx31000, bg, bh, ca) → new_compare21(vwx3000, vwx31000, new_esEs6(vwx3000, vwx31000, bg, bh, ca), bg, bh, ca)
new_primCompAux(vwx3000, vwx31000, vwx48, app(app(ty_@2, gd), ge)) → new_compare(vwx3000, vwx31000, gd, ge)
new_compare20(vwx3000, vwx31000, False, bd, be) → new_ltEs0(vwx3000, vwx31000, bd, be)
new_ltEs0(Left(vwx3000), Left(vwx31000), app(app(ty_@2, df), dg), dh) → new_ltEs(vwx3000, vwx31000, df, dg)
new_ltEs2(@3(vwx3000, vwx3001, vwx3002), @3(vwx31000, vwx31001, vwx31002), bah, hg, app(ty_[], bcf)) → new_ltEs1(vwx3002, vwx31002, bcf)
new_primCompAux(vwx3000, vwx31000, vwx48, app(app(ty_Either, gf), gg)) → new_compare1(vwx3000, vwx31000, gf, gg)
new_lt2(vwx3000, vwx31000, bg, bh, ca) → new_compare21(vwx3000, vwx31000, new_esEs6(vwx3000, vwx31000, bg, bh, ca), bg, bh, ca)
new_ltEs2(@3(vwx3000, vwx3001, vwx3002), @3(vwx31000, vwx31001, vwx31002), bah, hg, app(app(ty_@2, bcb), bcc)) → new_ltEs(vwx3002, vwx31002, bcb, bcc)
new_lt1(vwx3000, vwx31000, bf) → new_compare0(vwx3000, vwx31000, bf)
new_ltEs2(@3(vwx3000, vwx3001, vwx3002), @3(vwx31000, vwx31001, vwx31002), app(app(ty_@2, he), hf), hg, hh) → new_lt(vwx3000, vwx31000, he, hf)
new_ltEs0(Right(vwx3000), Right(vwx31000), eh, app(app(ty_Either, fc), fd)) → new_ltEs0(vwx3000, vwx31000, fc, fd)
new_ltEs0(Right(vwx3000), Right(vwx31000), eh, app(app(app(ty_@3, fg), fh), ga)) → new_ltEs2(vwx3000, vwx31000, fg, fh, ga)
new_ltEs2(@3(vwx3000, vwx3001, vwx3002), @3(vwx31000, vwx31001, vwx31002), bah, app(app(ty_@2, bba), bbb), hh) → new_lt(vwx3001, vwx31001, bba, bbb)
new_ltEs2(@3(vwx3000, vwx3001, vwx3002), @3(vwx31000, vwx31001, vwx31002), app(app(ty_Either, baa), bab), hg, hh) → new_lt0(vwx3000, vwx31000, baa, bab)
new_ltEs(@2(vwx3000, vwx3001), @2(vwx31000, vwx31001), cc, app(app(ty_@2, cd), ce)) → new_ltEs(vwx3001, vwx31001, cd, ce)
new_ltEs0(Right(vwx3000), Right(vwx31000), eh, app(ty_[], ff)) → new_ltEs1(vwx3000, vwx31000, ff)
new_ltEs2(@3(vwx3000, vwx3001, vwx3002), @3(vwx31000, vwx31001, vwx31002), app(app(app(ty_@3, bad), bae), baf), hg, hh) → new_lt2(vwx3000, vwx31000, bad, bae, baf)
new_ltEs1(:(vwx3000, vwx3001), :(vwx31000, vwx31001), gc) → new_compare0(vwx3001, vwx31001, gc)
new_primCompAux(vwx3000, vwx31000, vwx48, app(ty_Maybe, hd)) → new_compare5(vwx3000, vwx31000, hd)
new_ltEs3(Just(vwx3000), Just(vwx31000), app(app(app(ty_@3, bdh), bea), beb)) → new_ltEs2(vwx3000, vwx31000, bdh, bea, beb)
new_ltEs2(@3(vwx3000, vwx3001, vwx3002), @3(vwx31000, vwx31001, vwx31002), bah, hg, app(app(ty_Either, bcd), bce)) → new_ltEs0(vwx3002, vwx31002, bcd, bce)
new_ltEs(@2(vwx3000, vwx3001), @2(vwx31000, vwx31001), cc, app(app(ty_Either, cf), cg)) → new_ltEs0(vwx3001, vwx31001, cf, cg)
new_compare1(vwx3000, vwx31000, bd, be) → new_compare20(vwx3000, vwx31000, new_esEs5(vwx3000, vwx31000, bd, be), bd, be)
new_ltEs(@2(vwx3000, vwx3001), @2(vwx31000, vwx31001), app(app(ty_@2, ba), bb), bc) → new_compare2(vwx3000, vwx31000, new_esEs4(vwx3000, vwx31000, ba, bb), ba, bb)
new_ltEs3(Just(vwx3000), Just(vwx31000), app(app(ty_@2, bdc), bdd)) → new_ltEs(vwx3000, vwx31000, bdc, bdd)
new_ltEs(@2(vwx3000, vwx3001), @2(vwx31000, vwx31001), app(ty_Maybe, cb), bc) → new_compare22(vwx3000, vwx31000, new_esEs7(vwx3000, vwx31000, cb), cb)
new_ltEs2(@3(vwx3000, vwx3001, vwx3002), @3(vwx31000, vwx31001, vwx31002), bah, app(app(ty_Either, bbc), bbd), hh) → new_lt0(vwx3001, vwx31001, bbc, bbd)
new_ltEs2(@3(vwx3000, vwx3001, vwx3002), @3(vwx31000, vwx31001, vwx31002), bah, app(ty_[], bbe), hh) → new_lt1(vwx3001, vwx31001, bbe)
new_compare21(vwx3000, vwx31000, False, bg, bh, ca) → new_ltEs2(vwx3000, vwx31000, bg, bh, ca)
new_ltEs2(@3(vwx3000, vwx3001, vwx3002), @3(vwx31000, vwx31001, vwx31002), bah, hg, app(ty_Maybe, bdb)) → new_ltEs3(vwx3002, vwx31002, bdb)
new_ltEs3(Just(vwx3000), Just(vwx31000), app(ty_Maybe, bec)) → new_ltEs3(vwx3000, vwx31000, bec)
new_primCompAux(vwx3000, vwx31000, vwx48, app(app(app(ty_@3, ha), hb), hc)) → new_compare4(vwx3000, vwx31000, ha, hb, hc)
new_ltEs3(Just(vwx3000), Just(vwx31000), app(ty_[], bdg)) → new_ltEs1(vwx3000, vwx31000, bdg)

The TRS R consists of the following rules:

new_esEs23(vwx362, vwx372, ty_Integer) → new_esEs13(vwx362, vwx372)
new_esEs7(Just(vwx360), Just(vwx370), app(ty_Maybe, cfh)) → new_esEs7(vwx360, vwx370, cfh)
new_esEs5(Left(vwx360), Left(vwx370), ty_Bool, bee) → new_esEs11(vwx360, vwx370)
new_lt12(vwx3000, vwx31000) → new_esEs8(new_compare11(vwx3000, vwx31000))
new_esEs22(vwx360, vwx370, ty_Double) → new_esEs17(vwx360, vwx370)
new_esEs20(vwx360, vwx370, app(ty_Maybe, cbg)) → new_esEs7(vwx360, vwx370, cbg)
new_compare112(vwx3000, vwx31000, True, cb) → LT
new_esEs24(vwx361, vwx371, app(app(ty_Either, chh), daa)) → new_esEs5(vwx361, vwx371, chh, daa)
new_ltEs17(vwx300, vwx3100) → new_not(new_compare15(vwx300, vwx3100))
new_ltEs7(Left(vwx3000), Left(vwx31000), ty_@0, dh) → new_ltEs14(vwx3000, vwx31000)
new_ltEs8(False, True) → True
new_ltEs7(Right(vwx3000), Right(vwx31000), eh, ty_Int) → new_ltEs11(vwx3000, vwx31000)
new_esEs12(:(vwx360, vwx361), :(vwx370, vwx371), bhd) → new_asAs(new_esEs20(vwx360, vwx370, bhd), new_esEs12(vwx361, vwx371, bhd))
new_esEs5(Left(vwx360), Left(vwx370), ty_Ordering, bee) → new_esEs14(vwx360, vwx370)
new_esEs24(vwx361, vwx371, app(ty_Ratio, daf)) → new_esEs15(vwx361, vwx371, daf)
new_compare24(vwx3000, vwx31000, False) → new_compare14(vwx3000, vwx31000, new_ltEs8(vwx3000, vwx31000))
new_esEs7(Just(vwx360), Just(vwx370), app(ty_[], cfe)) → new_esEs12(vwx360, vwx370, cfe)
new_ltEs7(Left(vwx3000), Left(vwx31000), ty_Double, dh) → new_ltEs9(vwx3000, vwx31000)
new_ltEs5(vwx3002, vwx31002, ty_@0) → new_ltEs14(vwx3002, vwx31002)
new_ltEs18(EQ, GT) → True
new_esEs6(@3(vwx360, vwx361, vwx362), @3(vwx370, vwx371, vwx372), caa, cab, cac) → new_asAs(new_esEs25(vwx360, vwx370, caa), new_asAs(new_esEs24(vwx361, vwx371, cab), new_esEs23(vwx362, vwx372, cac)))
new_esEs19(vwx36, vwx37, app(ty_Ratio, bhh)) → new_esEs15(vwx36, vwx37, bhh)
new_esEs23(vwx362, vwx372, app(app(ty_Either, cgf), cgg)) → new_esEs5(vwx362, vwx372, cgf, cgg)
new_esEs23(vwx362, vwx372, app(app(ty_@2, cha), chb)) → new_esEs4(vwx362, vwx372, cha, chb)
new_compare10(vwx3000, vwx31000, bd, be) → new_compare25(vwx3000, vwx31000, new_esEs5(vwx3000, vwx31000, bd, be), bd, be)
new_compare29(vwx3000, vwx31000, ty_Char) → new_compare12(vwx3000, vwx31000)
new_esEs20(vwx360, vwx370, ty_Integer) → new_esEs13(vwx360, vwx370)
new_ltEs12(vwx300, vwx3100, cba) → new_not(new_compare7(vwx300, vwx3100, cba))
new_ltEs4(@3(vwx3000, vwx3001, vwx3002), @3(vwx31000, vwx31001, vwx31002), bah, hg, hh) → new_pePe(new_lt9(vwx3000, vwx31000, bah), vwx3000, vwx31000, new_pePe(new_lt10(vwx3001, vwx31001, hg), vwx3001, vwx31001, new_ltEs5(vwx3002, vwx31002, hh), hg), bah)
new_ltEs16(Just(vwx3000), Just(vwx31000), ty_Double) → new_ltEs9(vwx3000, vwx31000)
new_esEs20(vwx360, vwx370, ty_Int) → new_esEs9(vwx360, vwx370)
new_ltEs19(vwx3001, vwx31001, app(ty_Ratio, ceh)) → new_ltEs12(vwx3001, vwx31001, ceh)
new_lt20(vwx3000, vwx31000, ty_@0) → new_lt6(vwx3000, vwx31000)
new_ltEs7(Left(vwx3000), Right(vwx31000), eh, dh) → True
new_primMulNat0(Zero, Zero) → Zero
new_esEs24(vwx361, vwx371, ty_Integer) → new_esEs13(vwx361, vwx371)
new_esEs7(Just(vwx360), Just(vwx370), ty_Ordering) → new_esEs14(vwx360, vwx370)
new_ltEs16(Just(vwx3000), Just(vwx31000), ty_Char) → new_ltEs10(vwx3000, vwx31000)
new_compare29(vwx3000, vwx31000, ty_Bool) → new_compare11(vwx3000, vwx31000)
new_ltEs5(vwx3002, vwx31002, app(ty_Maybe, bdb)) → new_ltEs16(vwx3002, vwx31002, bdb)
new_sr(Integer(vwx30000), Integer(vwx310010)) → Integer(new_primMulInt(vwx30000, vwx310010))
new_esEs19(vwx36, vwx37, ty_Char) → new_esEs16(vwx36, vwx37)
new_ltEs19(vwx3001, vwx31001, ty_Double) → new_ltEs9(vwx3001, vwx31001)
new_esEs25(vwx360, vwx370, app(app(ty_@2, dbe), dbf)) → new_esEs4(vwx360, vwx370, dbe, dbf)
new_compare18(vwx3000, vwx31000, True, bg, bh, ca) → LT
new_esEs5(Left(vwx360), Left(vwx370), ty_Char, bee) → new_esEs16(vwx360, vwx370)
new_compare7(:%(vwx3000, vwx3001), :%(vwx31000, vwx31001), ty_Int) → new_compare16(new_sr0(vwx3000, vwx31001), new_sr0(vwx31000, vwx3001))
new_esEs21(vwx361, vwx371, ty_Integer) → new_esEs13(vwx361, vwx371)
new_esEs7(Just(vwx360), Just(vwx370), ty_Int) → new_esEs9(vwx360, vwx370)
new_lt20(vwx3000, vwx31000, app(app(ty_@2, ba), bb)) → new_lt11(vwx3000, vwx31000, ba, bb)
new_lt6(vwx3000, vwx31000) → new_esEs8(new_compare8(vwx3000, vwx31000))
new_ltEs7(Right(vwx3000), Right(vwx31000), eh, ty_Float) → new_ltEs17(vwx3000, vwx31000)
new_ltEs7(Right(vwx3000), Right(vwx31000), eh, ty_Ordering) → new_ltEs18(vwx3000, vwx31000)
new_not(GT) → False
new_ltEs5(vwx3002, vwx31002, ty_Char) → new_ltEs10(vwx3002, vwx31002)
new_esEs19(vwx36, vwx37, ty_Int) → new_esEs9(vwx36, vwx37)
new_esEs12([], [], bhd) → True
new_lt9(vwx3000, vwx31000, ty_Int) → new_lt15(vwx3000, vwx31000)
new_compare12(Char(vwx3000), Char(vwx31000)) → new_primCmpNat0(vwx3000, vwx31000)
new_esEs27(vwx360, vwx370, ty_Integer) → new_esEs13(vwx360, vwx370)
new_esEs7(Just(vwx360), Just(vwx370), app(app(ty_@2, cff), cfg)) → new_esEs4(vwx360, vwx370, cff, cfg)
new_compare23(vwx3000, vwx31000, False) → new_compare110(vwx3000, vwx31000, new_ltEs18(vwx3000, vwx31000))
new_ltEs7(Left(vwx3000), Left(vwx31000), ty_Float, dh) → new_ltEs17(vwx3000, vwx31000)
new_ltEs7(Left(vwx3000), Left(vwx31000), ty_Integer, dh) → new_ltEs13(vwx3000, vwx31000)
new_esEs19(vwx36, vwx37, app(app(ty_Either, bfh), bee)) → new_esEs5(vwx36, vwx37, bfh, bee)
new_esEs24(vwx361, vwx371, app(ty_[], dab)) → new_esEs12(vwx361, vwx371, dab)
new_esEs5(Right(vwx360), Right(vwx370), bfh, app(app(app(ty_@3, bgh), bha), bhb)) → new_esEs6(vwx360, vwx370, bgh, bha, bhb)
new_lt14(vwx3000, vwx31000) → new_esEs8(new_compare12(vwx3000, vwx31000))
new_esEs7(Just(vwx360), Just(vwx370), app(ty_Ratio, cga)) → new_esEs15(vwx360, vwx370, cga)
new_esEs19(vwx36, vwx37, ty_Float) → new_esEs18(vwx36, vwx37)
new_esEs12(:(vwx360, vwx361), [], bhd) → False
new_esEs12([], :(vwx370, vwx371), bhd) → False
new_ltEs7(Right(vwx3000), Right(vwx31000), eh, ty_Integer) → new_ltEs13(vwx3000, vwx31000)
new_ltEs6(@2(vwx3000, vwx3001), @2(vwx31000, vwx31001), cc, bc) → new_pePe(new_lt20(vwx3000, vwx31000, cc), vwx3000, vwx31000, new_ltEs19(vwx3001, vwx31001, bc), cc)
new_compare23(vwx3000, vwx31000, True) → EQ
new_ltEs11(vwx300, vwx3100) → new_not(new_compare16(vwx300, vwx3100))
new_compare210(vwx3000, vwx31000, False, ba, bb) → new_compare113(vwx3000, vwx31000, new_ltEs6(vwx3000, vwx31000, ba, bb), ba, bb)
new_esEs24(vwx361, vwx371, app(ty_Maybe, dae)) → new_esEs7(vwx361, vwx371, dae)
new_esEs22(vwx360, vwx370, app(app(ty_@2, cea), ceb)) → new_esEs4(vwx360, vwx370, cea, ceb)
new_esEs14(EQ, EQ) → True
new_esEs23(vwx362, vwx372, app(ty_Maybe, chc)) → new_esEs7(vwx362, vwx372, chc)
new_lt15(vwx3000, vwx31000) → new_esEs8(new_compare16(vwx3000, vwx31000))
new_ltEs16(Just(vwx3000), Just(vwx31000), ty_@0) → new_ltEs14(vwx3000, vwx31000)
new_ltEs5(vwx3002, vwx31002, app(app(ty_@2, bcb), bcc)) → new_ltEs6(vwx3002, vwx31002, bcb, bcc)
new_esEs5(Right(vwx360), Right(vwx370), bfh, app(app(ty_@2, bgd), bge)) → new_esEs4(vwx360, vwx370, bgd, bge)
new_primCmpNat0(Zero, Succ(vwx310000)) → LT
new_ltEs7(Right(vwx3000), Right(vwx31000), eh, ty_Double) → new_ltEs9(vwx3000, vwx31000)
new_lt10(vwx3001, vwx31001, ty_Double) → new_lt13(vwx3001, vwx31001)
new_ltEs15(vwx300, vwx3100, gc) → new_not(new_compare3(vwx300, vwx3100, gc))
new_esEs20(vwx360, vwx370, ty_Ordering) → new_esEs14(vwx360, vwx370)
new_compare14(vwx3000, vwx31000, False) → GT
new_esEs25(vwx360, vwx370, app(app(ty_Either, dbb), dbc)) → new_esEs5(vwx360, vwx370, dbb, dbc)
new_lt10(vwx3001, vwx31001, ty_Bool) → new_lt12(vwx3001, vwx31001)
new_ltEs16(Nothing, Nothing, cag) → True
new_compare29(vwx3000, vwx31000, app(app(app(ty_@3, ha), hb), hc)) → new_compare28(vwx3000, vwx31000, ha, hb, hc)
new_esEs25(vwx360, vwx370, ty_Double) → new_esEs17(vwx360, vwx370)
new_esEs20(vwx360, vwx370, ty_Bool) → new_esEs11(vwx360, vwx370)
new_ltEs19(vwx3001, vwx31001, app(app(app(ty_@3, db), dc), dd)) → new_ltEs4(vwx3001, vwx31001, db, dc, dd)
new_esEs19(vwx36, vwx37, app(ty_Maybe, bhg)) → new_esEs7(vwx36, vwx37, bhg)
new_ltEs7(Left(vwx3000), Left(vwx31000), app(ty_Ratio, cfa), dh) → new_ltEs12(vwx3000, vwx31000, cfa)
new_esEs20(vwx360, vwx370, app(app(app(ty_@3, cca), ccb), ccc)) → new_esEs6(vwx360, vwx370, cca, ccb, ccc)
new_lt10(vwx3001, vwx31001, app(ty_Maybe, bca)) → new_lt18(vwx3001, vwx31001, bca)
new_primEqNat0(Zero, Zero) → True
new_esEs15(:%(vwx360, vwx361), :%(vwx370, vwx371), bhh) → new_asAs(new_esEs27(vwx360, vwx370, bhh), new_esEs26(vwx361, vwx371, bhh))
new_ltEs5(vwx3002, vwx31002, ty_Int) → new_ltEs11(vwx3002, vwx31002)
new_esEs19(vwx36, vwx37, ty_Integer) → new_esEs13(vwx36, vwx37)
new_esEs23(vwx362, vwx372, ty_Ordering) → new_esEs14(vwx362, vwx372)
new_ltEs5(vwx3002, vwx31002, ty_Bool) → new_ltEs8(vwx3002, vwx31002)
new_lt20(vwx3000, vwx31000, ty_Int) → new_lt15(vwx3000, vwx31000)
new_compare111(vwx3000, vwx31000, False, bd, be) → GT
new_compare14(vwx3000, vwx31000, True) → LT
new_esEs5(Left(vwx360), Left(vwx370), ty_Int, bee) → new_esEs9(vwx360, vwx370)
new_ltEs18(EQ, EQ) → True
new_esEs20(vwx360, vwx370, app(ty_Ratio, cbh)) → new_esEs15(vwx360, vwx370, cbh)
new_esEs5(Right(vwx360), Right(vwx370), bfh, ty_Float) → new_esEs18(vwx360, vwx370)
new_lt20(vwx3000, vwx31000, ty_Integer) → new_lt7(vwx3000, vwx31000)
new_esEs19(vwx36, vwx37, app(ty_[], bhd)) → new_esEs12(vwx36, vwx37, bhd)
new_lt20(vwx3000, vwx31000, ty_Float) → new_lt19(vwx3000, vwx31000)
new_esEs14(GT, LT) → False
new_esEs14(LT, GT) → False
new_ltEs18(LT, LT) → True
new_ltEs19(vwx3001, vwx31001, ty_Char) → new_ltEs10(vwx3001, vwx31001)
new_lt16(vwx3000, vwx31000, bf) → new_esEs8(new_compare3(vwx3000, vwx31000, bf))
new_esEs25(vwx360, vwx370, ty_@0) → new_esEs10(vwx360, vwx370)
new_primPlusNat0(Succ(vwx660), vwx3100000) → Succ(Succ(new_primPlusNat1(vwx660, vwx3100000)))
new_lt10(vwx3001, vwx31001, app(app(ty_@2, bba), bbb)) → new_lt11(vwx3001, vwx31001, bba, bbb)
new_esEs5(Right(vwx360), Right(vwx370), bfh, app(ty_[], bgc)) → new_esEs12(vwx360, vwx370, bgc)
new_esEs22(vwx360, vwx370, ty_Char) → new_esEs16(vwx360, vwx370)
new_lt9(vwx3000, vwx31000, ty_Integer) → new_lt7(vwx3000, vwx31000)
new_esEs16(Char(vwx360), Char(vwx370)) → new_primEqNat0(vwx360, vwx370)
new_compare29(vwx3000, vwx31000, app(app(ty_@2, gd), ge)) → new_compare13(vwx3000, vwx31000, gd, ge)
new_esEs13(Integer(vwx360), Integer(vwx370)) → new_primEqInt(vwx360, vwx370)
new_lt10(vwx3001, vwx31001, ty_Float) → new_lt19(vwx3001, vwx31001)
new_ltEs18(GT, GT) → True
new_esEs25(vwx360, vwx370, app(ty_[], dbd)) → new_esEs12(vwx360, vwx370, dbd)
new_ltEs16(Nothing, Just(vwx31000), cag) → True
new_primEqInt(Neg(Succ(vwx3600)), Neg(Succ(vwx3700))) → new_primEqNat0(vwx3600, vwx3700)
new_esEs7(Just(vwx360), Just(vwx370), ty_Double) → new_esEs17(vwx360, vwx370)
new_esEs25(vwx360, vwx370, ty_Bool) → new_esEs11(vwx360, vwx370)
new_lt17(vwx3000, vwx31000, bg, bh, ca) → new_esEs8(new_compare28(vwx3000, vwx31000, bg, bh, ca))
new_compare113(vwx3000, vwx31000, True, ba, bb) → LT
new_esEs22(vwx360, vwx370, app(app(app(ty_@3, cee), cef), ceg)) → new_esEs6(vwx360, vwx370, cee, cef, ceg)
new_lt7(vwx3000, vwx31000) → new_esEs8(new_compare9(vwx3000, vwx31000))
new_ltEs7(Right(vwx3000), Right(vwx31000), eh, app(ty_[], ff)) → new_ltEs15(vwx3000, vwx31000, ff)
new_ltEs18(LT, GT) → True
new_esEs20(vwx360, vwx370, ty_Float) → new_esEs18(vwx360, vwx370)
new_primPlusNat1(Zero, Succ(vwx31000000)) → Succ(vwx31000000)
new_primPlusNat1(Succ(vwx6600), Zero) → Succ(vwx6600)
new_esEs19(vwx36, vwx37, ty_Ordering) → new_esEs14(vwx36, vwx37)
new_lt10(vwx3001, vwx31001, app(ty_Ratio, cae)) → new_lt5(vwx3001, vwx31001, cae)
new_ltEs8(True, True) → True
new_esEs21(vwx361, vwx371, ty_Ordering) → new_esEs14(vwx361, vwx371)
new_ltEs7(Right(vwx3000), Right(vwx31000), eh, ty_Bool) → new_ltEs8(vwx3000, vwx31000)
new_primCompAux1(vwx3000, vwx31000, vwx48, gc) → new_primCompAux0(vwx48, new_compare29(vwx3000, vwx31000, gc))
new_compare3([], :(vwx31000, vwx31001), gc) → LT
new_ltEs18(GT, LT) → False
new_lt20(vwx3000, vwx31000, app(app(app(ty_@3, bg), bh), ca)) → new_lt17(vwx3000, vwx31000, bg, bh, ca)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_lt20(vwx3000, vwx31000, app(ty_Maybe, cb)) → new_lt18(vwx3000, vwx31000, cb)
new_ltEs16(Just(vwx3000), Just(vwx31000), app(ty_Maybe, bec)) → new_ltEs16(vwx3000, vwx31000, bec)
new_ltEs7(Right(vwx3000), Left(vwx31000), eh, dh) → False
new_esEs24(vwx361, vwx371, app(app(app(ty_@3, dag), dah), dba)) → new_esEs6(vwx361, vwx371, dag, dah, dba)
new_compare3(:(vwx3000, vwx3001), [], gc) → GT
new_esEs5(Left(vwx360), Left(vwx370), app(ty_Maybe, bfc), bee) → new_esEs7(vwx360, vwx370, bfc)
new_lt9(vwx3000, vwx31000, app(app(app(ty_@3, bad), bae), baf)) → new_lt17(vwx3000, vwx31000, bad, bae, baf)
new_esEs5(Left(vwx360), Left(vwx370), ty_@0, bee) → new_esEs10(vwx360, vwx370)
new_ltEs7(Left(vwx3000), Left(vwx31000), ty_Int, dh) → new_ltEs11(vwx3000, vwx31000)
new_esEs25(vwx360, vwx370, app(ty_Ratio, dbh)) → new_esEs15(vwx360, vwx370, dbh)
new_ltEs7(Left(vwx3000), Left(vwx31000), app(app(app(ty_@3, ed), ee), ef), dh) → new_ltEs4(vwx3000, vwx31000, ed, ee, ef)
new_primEqInt(Neg(Succ(vwx3600)), Neg(Zero)) → False
new_primEqInt(Neg(Zero), Neg(Succ(vwx3700))) → False
new_primCompAux0(vwx52, GT) → GT
new_ltEs5(vwx3002, vwx31002, ty_Integer) → new_ltEs13(vwx3002, vwx31002)
new_ltEs16(Just(vwx3000), Just(vwx31000), app(app(ty_@2, bdc), bdd)) → new_ltEs6(vwx3000, vwx31000, bdc, bdd)
new_esEs20(vwx360, vwx370, ty_@0) → new_esEs10(vwx360, vwx370)
new_lt13(vwx3000, vwx31000) → new_esEs8(new_compare19(vwx3000, vwx31000))
new_esEs5(Right(vwx360), Right(vwx370), bfh, ty_Int) → new_esEs9(vwx360, vwx370)
new_esEs25(vwx360, vwx370, ty_Char) → new_esEs16(vwx360, vwx370)
new_ltEs19(vwx3001, vwx31001, app(ty_Maybe, de)) → new_ltEs16(vwx3001, vwx31001, de)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_lt9(vwx3000, vwx31000, ty_Char) → new_lt14(vwx3000, vwx31000)
new_esEs23(vwx362, vwx372, ty_Char) → new_esEs16(vwx362, vwx372)
new_compare25(vwx3000, vwx31000, False, bd, be) → new_compare111(vwx3000, vwx31000, new_ltEs7(vwx3000, vwx31000, bd, be), bd, be)
new_primCmpNat0(Succ(vwx30000), Succ(vwx310000)) → new_primCmpNat0(vwx30000, vwx310000)
new_esEs11(False, False) → True
new_primEqInt(Pos(Succ(vwx3600)), Pos(Succ(vwx3700))) → new_primEqNat0(vwx3600, vwx3700)
new_esEs23(vwx362, vwx372, app(ty_[], cgh)) → new_esEs12(vwx362, vwx372, cgh)
new_esEs25(vwx360, vwx370, ty_Int) → new_esEs9(vwx360, vwx370)
new_lt9(vwx3000, vwx31000, app(ty_[], bac)) → new_lt16(vwx3000, vwx31000, bac)
new_esEs5(Right(vwx360), Right(vwx370), bfh, app(app(ty_Either, bga), bgb)) → new_esEs5(vwx360, vwx370, bga, bgb)
new_lt9(vwx3000, vwx31000, ty_@0) → new_lt6(vwx3000, vwx31000)
new_esEs5(Left(vwx360), Left(vwx370), app(ty_[], beh), bee) → new_esEs12(vwx360, vwx370, beh)
new_primEqNat0(Succ(vwx3600), Succ(vwx3700)) → new_primEqNat0(vwx3600, vwx3700)
new_esEs19(vwx36, vwx37, app(app(app(ty_@3, caa), cab), cac)) → new_esEs6(vwx36, vwx37, caa, cab, cac)
new_compare113(vwx3000, vwx31000, False, ba, bb) → GT
new_lt9(vwx3000, vwx31000, ty_Bool) → new_lt12(vwx3000, vwx31000)
new_ltEs7(Right(vwx3000), Right(vwx31000), eh, app(ty_Ratio, cfb)) → new_ltEs12(vwx3000, vwx31000, cfb)
new_lt19(vwx3000, vwx31000) → new_esEs8(new_compare15(vwx3000, vwx31000))
new_ltEs19(vwx3001, vwx31001, app(app(ty_Either, cf), cg)) → new_ltEs7(vwx3001, vwx31001, cf, cg)
new_primCmpInt(Neg(Succ(vwx30000)), Neg(vwx31000)) → new_primCmpNat0(vwx31000, Succ(vwx30000))
new_compare29(vwx3000, vwx31000, app(ty_[], gh)) → new_compare3(vwx3000, vwx31000, gh)
new_compare29(vwx3000, vwx31000, app(ty_Maybe, hd)) → new_compare17(vwx3000, vwx31000, hd)
new_esEs5(Right(vwx360), Right(vwx370), bfh, ty_@0) → new_esEs10(vwx360, vwx370)
new_ltEs5(vwx3002, vwx31002, ty_Double) → new_ltEs9(vwx3002, vwx31002)
new_lt11(vwx3000, vwx31000, ba, bb) → new_esEs8(new_compare13(vwx3000, vwx31000, ba, bb))
new_ltEs19(vwx3001, vwx31001, ty_Bool) → new_ltEs8(vwx3001, vwx31001)
new_esEs7(Nothing, Nothing, bhg) → True
new_ltEs9(vwx300, vwx3100) → new_not(new_compare19(vwx300, vwx3100))
new_lt10(vwx3001, vwx31001, ty_Int) → new_lt15(vwx3001, vwx31001)
new_lt20(vwx3000, vwx31000, app(ty_Ratio, bed)) → new_lt5(vwx3000, vwx31000, bed)
new_compare29(vwx3000, vwx31000, ty_Int) → new_compare16(vwx3000, vwx31000)
new_ltEs16(Just(vwx3000), Just(vwx31000), ty_Float) → new_ltEs17(vwx3000, vwx31000)
new_primEqInt(Pos(Succ(vwx3600)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(vwx3700))) → False
new_esEs22(vwx360, vwx370, ty_Integer) → new_esEs13(vwx360, vwx370)
new_esEs24(vwx361, vwx371, ty_@0) → new_esEs10(vwx361, vwx371)
new_ltEs19(vwx3001, vwx31001, ty_Float) → new_ltEs17(vwx3001, vwx31001)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(vwx30000), Zero) → GT
new_ltEs16(Just(vwx3000), Just(vwx31000), ty_Ordering) → new_ltEs18(vwx3000, vwx31000)
new_esEs7(Just(vwx360), Just(vwx370), app(app(ty_Either, cfc), cfd)) → new_esEs5(vwx360, vwx370, cfc, cfd)
new_esEs8(LT) → True
new_compare13(vwx3000, vwx31000, ba, bb) → new_compare210(vwx3000, vwx31000, new_esEs4(vwx3000, vwx31000, ba, bb), ba, bb)
new_primCmpInt(Neg(Zero), Pos(Succ(vwx310000))) → LT
new_esEs21(vwx361, vwx371, ty_Char) → new_esEs16(vwx361, vwx371)
new_esEs20(vwx360, vwx370, app(app(ty_Either, cbb), cbc)) → new_esEs5(vwx360, vwx370, cbb, cbc)
new_compare17(vwx3000, vwx31000, cb) → new_compare27(vwx3000, vwx31000, new_esEs7(vwx3000, vwx31000, cb), cb)
new_primPlusNat1(Succ(vwx6600), Succ(vwx31000000)) → Succ(Succ(new_primPlusNat1(vwx6600, vwx31000000)))
new_esEs21(vwx361, vwx371, ty_Double) → new_esEs17(vwx361, vwx371)
new_primEqInt(Pos(Succ(vwx3600)), Neg(vwx370)) → False
new_primEqInt(Neg(Succ(vwx3600)), Pos(vwx370)) → False
new_esEs24(vwx361, vwx371, app(app(ty_@2, dac), dad)) → new_esEs4(vwx361, vwx371, dac, dad)
new_esEs7(Just(vwx360), Nothing, bhg) → False
new_esEs7(Nothing, Just(vwx370), bhg) → False
new_esEs5(Right(vwx360), Right(vwx370), bfh, ty_Ordering) → new_esEs14(vwx360, vwx370)
new_compare3(:(vwx3000, vwx3001), :(vwx31000, vwx31001), gc) → new_primCompAux1(vwx3000, vwx31000, new_compare3(vwx3001, vwx31001, gc), gc)
new_esEs8(GT) → False
new_esEs7(Just(vwx360), Just(vwx370), ty_Char) → new_esEs16(vwx360, vwx370)
new_lt4(vwx3000, vwx31000) → new_esEs8(new_compare6(vwx3000, vwx31000))
new_esEs19(vwx36, vwx37, ty_Bool) → new_esEs11(vwx36, vwx37)
new_esEs26(vwx361, vwx371, ty_Int) → new_esEs9(vwx361, vwx371)
new_ltEs10(vwx300, vwx3100) → new_not(new_compare12(vwx300, vwx3100))
new_primEqInt(Pos(Zero), Neg(Succ(vwx3700))) → False
new_primEqInt(Neg(Zero), Pos(Succ(vwx3700))) → False
new_esEs5(Left(vwx360), Left(vwx370), app(app(ty_@2, bfa), bfb), bee) → new_esEs4(vwx360, vwx370, bfa, bfb)
new_esEs20(vwx360, vwx370, app(ty_[], cbd)) → new_esEs12(vwx360, vwx370, cbd)
new_primCmpInt(Pos(Zero), Pos(Succ(vwx310000))) → new_primCmpNat0(Zero, Succ(vwx310000))
new_esEs23(vwx362, vwx372, ty_Double) → new_esEs17(vwx362, vwx372)
new_compare29(vwx3000, vwx31000, ty_Float) → new_compare15(vwx3000, vwx31000)
new_compare24(vwx3000, vwx31000, True) → EQ
new_lt20(vwx3000, vwx31000, ty_Ordering) → new_lt4(vwx3000, vwx31000)
new_esEs24(vwx361, vwx371, ty_Ordering) → new_esEs14(vwx361, vwx371)
new_esEs23(vwx362, vwx372, ty_Bool) → new_esEs11(vwx362, vwx372)
new_esEs5(Left(vwx360), Left(vwx370), ty_Double, bee) → new_esEs17(vwx360, vwx370)
new_esEs7(Just(vwx360), Just(vwx370), ty_Float) → new_esEs18(vwx360, vwx370)
new_lt10(vwx3001, vwx31001, ty_Char) → new_lt14(vwx3001, vwx31001)
new_esEs22(vwx360, vwx370, ty_Float) → new_esEs18(vwx360, vwx370)
new_ltEs16(Just(vwx3000), Nothing, cag) → False
new_primCompAux0(vwx52, LT) → LT
new_ltEs18(GT, EQ) → False
new_ltEs8(True, False) → False
new_esEs22(vwx360, vwx370, ty_Ordering) → new_esEs14(vwx360, vwx370)
new_primPlusNat0(Zero, vwx3100000) → Succ(vwx3100000)
new_compare210(vwx3000, vwx31000, True, ba, bb) → EQ
new_primCmpInt(Pos(Succ(vwx30000)), Pos(vwx31000)) → new_primCmpNat0(Succ(vwx30000), vwx31000)
new_lt10(vwx3001, vwx31001, ty_Integer) → new_lt7(vwx3001, vwx31001)
new_esEs23(vwx362, vwx372, ty_Float) → new_esEs18(vwx362, vwx372)
new_ltEs7(Left(vwx3000), Left(vwx31000), ty_Ordering, dh) → new_ltEs18(vwx3000, vwx31000)
new_esEs25(vwx360, vwx370, ty_Float) → new_esEs18(vwx360, vwx370)
new_ltEs18(EQ, LT) → False
new_compare6(vwx3000, vwx31000) → new_compare23(vwx3000, vwx31000, new_esEs14(vwx3000, vwx31000))
new_not0True
new_lt20(vwx3000, vwx31000, ty_Double) → new_lt13(vwx3000, vwx31000)
new_lt10(vwx3001, vwx31001, ty_@0) → new_lt6(vwx3001, vwx31001)
new_esEs5(Right(vwx360), Right(vwx370), bfh, ty_Double) → new_esEs17(vwx360, vwx370)
new_esEs19(vwx36, vwx37, ty_Double) → new_esEs17(vwx36, vwx37)
new_ltEs18(LT, EQ) → True
new_ltEs16(Just(vwx3000), Just(vwx31000), app(app(app(ty_@3, bdh), bea), beb)) → new_ltEs4(vwx3000, vwx31000, bdh, bea, beb)
new_compare26(vwx3000, vwx31000, False, bg, bh, ca) → new_compare18(vwx3000, vwx31000, new_ltEs4(vwx3000, vwx31000, bg, bh, ca), bg, bh, ca)
new_esEs21(vwx361, vwx371, app(ty_Ratio, cdb)) → new_esEs15(vwx361, vwx371, cdb)
new_esEs23(vwx362, vwx372, ty_@0) → new_esEs10(vwx362, vwx372)
new_ltEs19(vwx3001, vwx31001, app(ty_[], da)) → new_ltEs15(vwx3001, vwx31001, da)
new_esEs22(vwx360, vwx370, ty_Bool) → new_esEs11(vwx360, vwx370)
new_esEs18(Float(vwx360, vwx361), Float(vwx370, vwx371)) → new_esEs9(new_sr0(vwx360, vwx370), new_sr0(vwx361, vwx371))
new_primCmpInt(Pos(Succ(vwx30000)), Neg(vwx31000)) → GT
new_lt5(vwx3000, vwx31000, bed) → new_esEs8(new_compare7(vwx3000, vwx31000, bed))
new_ltEs7(Right(vwx3000), Right(vwx31000), eh, app(ty_Maybe, gb)) → new_ltEs16(vwx3000, vwx31000, gb)
new_esEs24(vwx361, vwx371, ty_Float) → new_esEs18(vwx361, vwx371)
new_esEs21(vwx361, vwx371, app(ty_Maybe, cda)) → new_esEs7(vwx361, vwx371, cda)
new_primMulInt(Pos(vwx30000), Pos(vwx310000)) → Pos(new_primMulNat0(vwx30000, vwx310000))
new_esEs21(vwx361, vwx371, app(app(ty_@2, ccg), cch)) → new_esEs4(vwx361, vwx371, ccg, cch)
new_ltEs5(vwx3002, vwx31002, ty_Float) → new_ltEs17(vwx3002, vwx31002)
new_ltEs16(Just(vwx3000), Just(vwx31000), app(ty_Ratio, cah)) → new_ltEs12(vwx3000, vwx31000, cah)
new_esEs5(Right(vwx360), Left(vwx370), bfh, bee) → False
new_esEs5(Left(vwx360), Right(vwx370), bfh, bee) → False
new_primMulInt(Neg(vwx30000), Neg(vwx310000)) → Pos(new_primMulNat0(vwx30000, vwx310000))
new_compare110(vwx3000, vwx31000, True) → LT
new_lt9(vwx3000, vwx31000, ty_Float) → new_lt19(vwx3000, vwx31000)
new_ltEs8(False, False) → True
new_primEqNat0(Succ(vwx3600), Zero) → False
new_primEqNat0(Zero, Succ(vwx3700)) → False
new_esEs24(vwx361, vwx371, ty_Char) → new_esEs16(vwx361, vwx371)
new_esEs21(vwx361, vwx371, ty_Int) → new_esEs9(vwx361, vwx371)
new_esEs21(vwx361, vwx371, ty_@0) → new_esEs10(vwx361, vwx371)
new_compare15(Float(vwx3000, vwx3001), Float(vwx31000, vwx31001)) → new_compare16(new_sr0(vwx3000, vwx31000), new_sr0(vwx3001, vwx31001))
new_esEs21(vwx361, vwx371, app(ty_[], ccf)) → new_esEs12(vwx361, vwx371, ccf)
new_ltEs7(Left(vwx3000), Left(vwx31000), app(app(ty_Either, ea), eb), dh) → new_ltEs7(vwx3000, vwx31000, ea, eb)
new_compare25(vwx3000, vwx31000, True, bd, be) → EQ
new_compare110(vwx3000, vwx31000, False) → GT
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs22(vwx360, vwx370, app(ty_Ratio, ced)) → new_esEs15(vwx360, vwx370, ced)
new_lt20(vwx3000, vwx31000, app(app(ty_Either, bd), be)) → new_lt8(vwx3000, vwx31000, bd, be)
new_ltEs13(vwx300, vwx3100) → new_not(new_compare9(vwx300, vwx3100))
new_esEs5(Right(vwx360), Right(vwx370), bfh, ty_Char) → new_esEs16(vwx360, vwx370)
new_ltEs5(vwx3002, vwx31002, app(ty_[], bcf)) → new_ltEs15(vwx3002, vwx31002, bcf)
new_ltEs16(Just(vwx3000), Just(vwx31000), ty_Int) → new_ltEs11(vwx3000, vwx31000)
new_lt10(vwx3001, vwx31001, app(app(ty_Either, bbc), bbd)) → new_lt8(vwx3001, vwx31001, bbc, bbd)
new_esEs22(vwx360, vwx370, ty_Int) → new_esEs9(vwx360, vwx370)
new_lt20(vwx3000, vwx31000, ty_Char) → new_lt14(vwx3000, vwx31000)
new_pePe(True, vwx36, vwx37, vwx38, bhc) → True
new_esEs22(vwx360, vwx370, ty_@0) → new_esEs10(vwx360, vwx370)
new_compare27(vwx3000, vwx31000, False, cb) → new_compare112(vwx3000, vwx31000, new_ltEs16(vwx3000, vwx31000, cb), cb)
new_esEs24(vwx361, vwx371, ty_Int) → new_esEs9(vwx361, vwx371)
new_esEs14(EQ, LT) → False
new_esEs14(LT, EQ) → False
new_primCmpInt(Neg(Zero), Neg(Succ(vwx310000))) → new_primCmpNat0(Succ(vwx310000), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(vwx310000))) → GT
new_esEs11(True, False) → False
new_esEs11(False, True) → False
new_ltEs16(Just(vwx3000), Just(vwx31000), ty_Integer) → new_ltEs13(vwx3000, vwx31000)
new_esEs5(Left(vwx360), Left(vwx370), ty_Integer, bee) → new_esEs13(vwx360, vwx370)
new_compare29(vwx3000, vwx31000, ty_Double) → new_compare19(vwx3000, vwx31000)
new_sr0(vwx3000, vwx31000) → new_primMulInt(vwx3000, vwx31000)
new_esEs27(vwx360, vwx370, ty_Int) → new_esEs9(vwx360, vwx370)
new_ltEs19(vwx3001, vwx31001, ty_Int) → new_ltEs11(vwx3001, vwx31001)
new_esEs21(vwx361, vwx371, ty_Float) → new_esEs18(vwx361, vwx371)
new_lt8(vwx3000, vwx31000, bd, be) → new_esEs8(new_compare10(vwx3000, vwx31000, bd, be))
new_esEs7(Just(vwx360), Just(vwx370), app(app(app(ty_@3, cgb), cgc), cgd)) → new_esEs6(vwx360, vwx370, cgb, cgc, cgd)
new_esEs25(vwx360, vwx370, app(ty_Maybe, dbg)) → new_esEs7(vwx360, vwx370, dbg)
new_esEs23(vwx362, vwx372, app(ty_Ratio, chd)) → new_esEs15(vwx362, vwx372, chd)
new_lt20(vwx3000, vwx31000, app(ty_[], bf)) → new_lt16(vwx3000, vwx31000, bf)
new_esEs21(vwx361, vwx371, ty_Bool) → new_esEs11(vwx361, vwx371)
new_compare29(vwx3000, vwx31000, ty_Ordering) → new_compare6(vwx3000, vwx31000)
new_esEs14(GT, EQ) → False
new_esEs14(EQ, GT) → False
new_ltEs7(Right(vwx3000), Right(vwx31000), eh, app(app(ty_@2, fa), fb)) → new_ltEs6(vwx3000, vwx31000, fa, fb)
new_esEs10(@0, @0) → True
new_ltEs5(vwx3002, vwx31002, app(ty_Ratio, caf)) → new_ltEs12(vwx3002, vwx31002, caf)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_ltEs7(Right(vwx3000), Right(vwx31000), eh, ty_Char) → new_ltEs10(vwx3000, vwx31000)
new_compare29(vwx3000, vwx31000, app(app(ty_Either, gf), gg)) → new_compare10(vwx3000, vwx31000, gf, gg)
new_ltEs7(Left(vwx3000), Left(vwx31000), ty_Char, dh) → new_ltEs10(vwx3000, vwx31000)
new_ltEs19(vwx3001, vwx31001, app(app(ty_@2, cd), ce)) → new_ltEs6(vwx3001, vwx31001, cd, ce)
new_ltEs7(Right(vwx3000), Right(vwx31000), eh, app(app(ty_Either, fc), fd)) → new_ltEs7(vwx3000, vwx31000, fc, fd)
new_ltEs16(Just(vwx3000), Just(vwx31000), app(app(ty_Either, bde), bdf)) → new_ltEs7(vwx3000, vwx31000, bde, bdf)
new_compare7(:%(vwx3000, vwx3001), :%(vwx31000, vwx31001), ty_Integer) → new_compare9(new_sr(vwx3000, vwx31001), new_sr(vwx31000, vwx3001))
new_compare9(Integer(vwx3000), Integer(vwx31000)) → new_primCmpInt(vwx3000, vwx31000)
new_asAs(False, vwx47) → False
new_compare3([], [], gc) → EQ
new_primMulInt(Neg(vwx30000), Pos(vwx310000)) → Neg(new_primMulNat0(vwx30000, vwx310000))
new_primMulInt(Pos(vwx30000), Neg(vwx310000)) → Neg(new_primMulNat0(vwx30000, vwx310000))
new_compare16(vwx300, vwx3100) → new_primCmpInt(vwx300, vwx3100)
new_primMulNat0(Succ(vwx300000), Zero) → Zero
new_primMulNat0(Zero, Succ(vwx3100000)) → Zero
new_esEs21(vwx361, vwx371, app(app(ty_Either, ccd), cce)) → new_esEs5(vwx361, vwx371, ccd, cce)
new_esEs23(vwx362, vwx372, app(app(app(ty_@3, che), chf), chg)) → new_esEs6(vwx362, vwx372, che, chf, chg)
new_esEs26(vwx361, vwx371, ty_Integer) → new_esEs13(vwx361, vwx371)
new_compare11(vwx3000, vwx31000) → new_compare24(vwx3000, vwx31000, new_esEs11(vwx3000, vwx31000))
new_esEs5(Left(vwx360), Left(vwx370), app(app(app(ty_@3, bfe), bff), bfg), bee) → new_esEs6(vwx360, vwx370, bfe, bff, bfg)
new_esEs23(vwx362, vwx372, ty_Int) → new_esEs9(vwx362, vwx372)
new_ltEs7(Left(vwx3000), Left(vwx31000), app(ty_Maybe, eg), dh) → new_ltEs16(vwx3000, vwx31000, eg)
new_esEs5(Right(vwx360), Right(vwx370), bfh, ty_Integer) → new_esEs13(vwx360, vwx370)
new_not(EQ) → new_not0
new_lt9(vwx3000, vwx31000, app(ty_Maybe, bag)) → new_lt18(vwx3000, vwx31000, bag)
new_esEs25(vwx360, vwx370, ty_Integer) → new_esEs13(vwx360, vwx370)
new_compare28(vwx3000, vwx31000, bg, bh, ca) → new_compare26(vwx3000, vwx31000, new_esEs6(vwx3000, vwx31000, bg, bh, ca), bg, bh, ca)
new_esEs11(True, True) → True
new_esEs7(Just(vwx360), Just(vwx370), ty_@0) → new_esEs10(vwx360, vwx370)
new_esEs20(vwx360, vwx370, ty_Double) → new_esEs17(vwx360, vwx370)
new_compare18(vwx3000, vwx31000, False, bg, bh, ca) → GT
new_esEs25(vwx360, vwx370, app(app(app(ty_@3, dca), dcb), dcc)) → new_esEs6(vwx360, vwx370, dca, dcb, dcc)
new_lt9(vwx3000, vwx31000, app(app(ty_@2, he), hf)) → new_lt11(vwx3000, vwx31000, he, hf)
new_esEs14(GT, GT) → True
new_ltEs5(vwx3002, vwx31002, ty_Ordering) → new_ltEs18(vwx3002, vwx31002)
new_esEs20(vwx360, vwx370, app(app(ty_@2, cbe), cbf)) → new_esEs4(vwx360, vwx370, cbe, cbf)
new_ltEs19(vwx3001, vwx31001, ty_@0) → new_ltEs14(vwx3001, vwx31001)
new_ltEs16(Just(vwx3000), Just(vwx31000), ty_Bool) → new_ltEs8(vwx3000, vwx31000)
new_esEs24(vwx361, vwx371, ty_Double) → new_esEs17(vwx361, vwx371)
new_esEs22(vwx360, vwx370, app(ty_[], cdh)) → new_esEs12(vwx360, vwx370, cdh)
new_lt18(vwx3000, vwx31000, cb) → new_esEs8(new_compare17(vwx3000, vwx31000, cb))
new_lt10(vwx3001, vwx31001, app(app(app(ty_@3, bbf), bbg), bbh)) → new_lt17(vwx3001, vwx31001, bbf, bbg, bbh)
new_compare29(vwx3000, vwx31000, ty_Integer) → new_compare9(vwx3000, vwx31000)
new_esEs4(@2(vwx360, vwx361), @2(vwx370, vwx371), bhe, bhf) → new_asAs(new_esEs22(vwx360, vwx370, bhe), new_esEs21(vwx361, vwx371, bhf))
new_ltEs14(vwx300, vwx3100) → new_not(new_compare8(vwx300, vwx3100))
new_esEs5(Right(vwx360), Right(vwx370), bfh, ty_Bool) → new_esEs11(vwx360, vwx370)
new_esEs7(Just(vwx360), Just(vwx370), ty_Integer) → new_esEs13(vwx360, vwx370)
new_esEs7(Just(vwx360), Just(vwx370), ty_Bool) → new_esEs11(vwx360, vwx370)
new_not(LT) → new_not0
new_esEs5(Left(vwx360), Left(vwx370), app(app(ty_Either, bef), beg), bee) → new_esEs5(vwx360, vwx370, bef, beg)
new_lt20(vwx3000, vwx31000, ty_Bool) → new_lt12(vwx3000, vwx31000)
new_compare112(vwx3000, vwx31000, False, cb) → GT
new_esEs5(Left(vwx360), Left(vwx370), app(ty_Ratio, bfd), bee) → new_esEs15(vwx360, vwx370, bfd)
new_lt10(vwx3001, vwx31001, app(ty_[], bbe)) → new_lt16(vwx3001, vwx31001, bbe)
new_compare27(vwx3000, vwx31000, True, cb) → EQ
new_ltEs16(Just(vwx3000), Just(vwx31000), app(ty_[], bdg)) → new_ltEs15(vwx3000, vwx31000, bdg)
new_esEs8(EQ) → False
new_compare26(vwx3000, vwx31000, True, bg, bh, ca) → EQ
new_ltEs7(Left(vwx3000), Left(vwx31000), app(ty_[], ec), dh) → new_ltEs15(vwx3000, vwx31000, ec)
new_ltEs7(Left(vwx3000), Left(vwx31000), app(app(ty_@2, df), dg), dh) → new_ltEs6(vwx3000, vwx31000, df, dg)
new_compare111(vwx3000, vwx31000, True, bd, be) → LT
new_primPlusNat1(Zero, Zero) → Zero
new_lt9(vwx3000, vwx31000, ty_Ordering) → new_lt4(vwx3000, vwx31000)
new_esEs21(vwx361, vwx371, app(app(app(ty_@3, cdc), cdd), cde)) → new_esEs6(vwx361, vwx371, cdc, cdd, cde)
new_lt10(vwx3001, vwx31001, ty_Ordering) → new_lt4(vwx3001, vwx31001)
new_ltEs5(vwx3002, vwx31002, app(app(ty_Either, bcd), bce)) → new_ltEs7(vwx3002, vwx31002, bcd, bce)
new_asAs(True, vwx47) → vwx47
new_primMulNat0(Succ(vwx300000), Succ(vwx3100000)) → new_primPlusNat0(new_primMulNat0(vwx300000, Succ(vwx3100000)), vwx3100000)
new_esEs14(LT, LT) → True
new_ltEs19(vwx3001, vwx31001, ty_Ordering) → new_ltEs18(vwx3001, vwx31001)
new_compare8(@0, @0) → EQ
new_compare29(vwx3000, vwx31000, ty_@0) → new_compare8(vwx3000, vwx31000)
new_ltEs7(Right(vwx3000), Right(vwx31000), eh, app(app(app(ty_@3, fg), fh), ga)) → new_ltEs4(vwx3000, vwx31000, fg, fh, ga)
new_esEs19(vwx36, vwx37, ty_@0) → new_esEs10(vwx36, vwx37)
new_ltEs19(vwx3001, vwx31001, ty_Integer) → new_ltEs13(vwx3001, vwx31001)
new_lt9(vwx3000, vwx31000, ty_Double) → new_lt13(vwx3000, vwx31000)
new_esEs17(Double(vwx360, vwx361), Double(vwx370, vwx371)) → new_esEs9(new_sr0(vwx360, vwx370), new_sr0(vwx361, vwx371))
new_esEs25(vwx360, vwx370, ty_Ordering) → new_esEs14(vwx360, vwx370)
new_lt9(vwx3000, vwx31000, app(ty_Ratio, cad)) → new_lt5(vwx3000, vwx31000, cad)
new_esEs9(vwx36, vwx37) → new_primEqInt(vwx36, vwx37)
new_compare29(vwx3000, vwx31000, app(ty_Ratio, cge)) → new_compare7(vwx3000, vwx31000, cge)
new_ltEs7(Left(vwx3000), Left(vwx31000), ty_Bool, dh) → new_ltEs8(vwx3000, vwx31000)
new_esEs20(vwx360, vwx370, ty_Char) → new_esEs16(vwx360, vwx370)
new_esEs22(vwx360, vwx370, app(app(ty_Either, cdf), cdg)) → new_esEs5(vwx360, vwx370, cdf, cdg)
new_esEs24(vwx361, vwx371, ty_Bool) → new_esEs11(vwx361, vwx371)
new_esEs5(Right(vwx360), Right(vwx370), bfh, app(ty_Ratio, bgg)) → new_esEs15(vwx360, vwx370, bgg)
new_lt9(vwx3000, vwx31000, app(app(ty_Either, baa), bab)) → new_lt8(vwx3000, vwx31000, baa, bab)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCompAux0(vwx52, EQ) → vwx52
new_ltEs5(vwx3002, vwx31002, app(app(app(ty_@3, bcg), bch), bda)) → new_ltEs4(vwx3002, vwx31002, bcg, bch, bda)
new_esEs19(vwx36, vwx37, app(app(ty_@2, bhe), bhf)) → new_esEs4(vwx36, vwx37, bhe, bhf)
new_pePe(False, vwx36, vwx37, vwx38, bhc) → new_asAs(new_esEs19(vwx36, vwx37, bhc), vwx38)
new_esEs5(Left(vwx360), Left(vwx370), ty_Float, bee) → new_esEs18(vwx360, vwx370)
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_esEs5(Right(vwx360), Right(vwx370), bfh, app(ty_Maybe, bgf)) → new_esEs7(vwx360, vwx370, bgf)
new_esEs22(vwx360, vwx370, app(ty_Maybe, cec)) → new_esEs7(vwx360, vwx370, cec)
new_ltEs7(Right(vwx3000), Right(vwx31000), eh, ty_@0) → new_ltEs14(vwx3000, vwx31000)
new_primCmpInt(Neg(Succ(vwx30000)), Pos(vwx31000)) → LT
new_compare19(Double(vwx3000, vwx3001), Double(vwx31000, vwx31001)) → new_compare16(new_sr0(vwx3000, vwx31000), new_sr0(vwx3001, vwx31001))

The set Q consists of the following terms:

new_ltEs5(x0, x1, ty_Float)
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_compare7(:%(x0, x1), :%(x2, x3), ty_Integer)
new_esEs5(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, ty_Integer)
new_esEs22(x0, x1, ty_Double)
new_lt9(x0, x1, app(ty_[], x2))
new_esEs5(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_compare3([], :(x0, x1), x2)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs11(True, True)
new_esEs14(EQ, GT)
new_esEs14(GT, EQ)
new_compare29(x0, x1, ty_Int)
new_ltEs7(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs23(x0, x1, ty_Bool)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpNat0(Succ(x0), Zero)
new_esEs24(x0, x1, ty_Ordering)
new_lt5(x0, x1, x2)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs5(Left(x0), Left(x1), ty_Bool, x2)
new_esEs25(x0, x1, app(ty_[], x2))
new_ltEs7(Right(x0), Right(x1), x2, ty_Int)
new_ltEs7(Right(x0), Left(x1), x2, x3)
new_ltEs7(Left(x0), Right(x1), x2, x3)
new_esEs7(Just(x0), Just(x1), ty_@0)
new_compare25(x0, x1, True, x2, x3)
new_esEs18(Float(x0, x1), Float(x2, x3))
new_compare3(:(x0, x1), :(x2, x3), x4)
new_lt10(x0, x1, ty_Double)
new_esEs5(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs22(x0, x1, ty_Int)
new_ltEs16(Just(x0), Just(x1), ty_Ordering)
new_lt10(x0, x1, ty_Ordering)
new_compare29(x0, x1, ty_Ordering)
new_esEs20(x0, x1, ty_Char)
new_esEs19(x0, x1, ty_Ordering)
new_esEs23(x0, x1, ty_Double)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs21(x0, x1, ty_Int)
new_esEs12(:(x0, x1), [], x2)
new_compare210(x0, x1, False, x2, x3)
new_lt10(x0, x1, app(app(ty_@2, x2), x3))
new_compare9(Integer(x0), Integer(x1))
new_esEs24(x0, x1, app(ty_[], x2))
new_esEs8(LT)
new_primCompAux0(x0, GT)
new_ltEs9(x0, x1)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs11(False, True)
new_esEs11(True, False)
new_ltEs7(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_compare111(x0, x1, False, x2, x3)
new_compare28(x0, x1, x2, x3, x4)
new_compare11(x0, x1)
new_lt20(x0, x1, ty_Float)
new_ltEs7(Left(x0), Left(x1), app(ty_[], x2), x3)
new_ltEs7(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs7(Just(x0), Nothing, x1)
new_esEs5(Left(x0), Left(x1), ty_Integer, x2)
new_ltEs16(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs5(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_compare27(x0, x1, False, x2)
new_ltEs8(True, True)
new_esEs25(x0, x1, ty_@0)
new_esEs24(x0, x1, ty_Char)
new_lt9(x0, x1, app(app(ty_Either, x2), x3))
new_lt4(x0, x1)
new_pePe(False, x0, x1, x2, x3)
new_esEs22(x0, x1, ty_Char)
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_esEs16(Char(x0), Char(x1))
new_ltEs19(x0, x1, ty_Ordering)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_esEs25(x0, x1, ty_Int)
new_esEs22(x0, x1, app(ty_[], x2))
new_compare8(@0, @0)
new_esEs21(x0, x1, ty_Double)
new_asAs(True, x0)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, app(ty_[], x2))
new_esEs14(GT, LT)
new_esEs14(LT, GT)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_esEs20(x0, x1, app(ty_[], x2))
new_esEs21(x0, x1, ty_Ordering)
new_esEs24(x0, x1, ty_Int)
new_lt9(x0, x1, ty_Ordering)
new_esEs22(x0, x1, ty_Integer)
new_compare13(x0, x1, x2, x3)
new_esEs5(Right(x0), Right(x1), x2, ty_Int)
new_primPlusNat1(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_esEs19(x0, x1, app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Char)
new_esEs12(:(x0, x1), :(x2, x3), x4)
new_compare113(x0, x1, True, x2, x3)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_esEs19(x0, x1, ty_Int)
new_lt10(x0, x1, ty_Char)
new_esEs19(x0, x1, app(ty_Maybe, x2))
new_esEs7(Just(x0), Just(x1), ty_Ordering)
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, ty_Double)
new_esEs7(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs20(x0, x1, ty_Float)
new_lt9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs18(GT, LT)
new_ltEs18(LT, GT)
new_ltEs5(x0, x1, app(ty_[], x2))
new_esEs7(Just(x0), Just(x1), ty_Int)
new_primEqNat0(Zero, Zero)
new_esEs20(x0, x1, ty_Double)
new_esEs7(Just(x0), Just(x1), ty_Double)
new_ltEs5(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs16(Nothing, Just(x0), x1)
new_primMulInt(Neg(x0), Neg(x1))
new_ltEs19(x0, x1, ty_Char)
new_esEs8(EQ)
new_ltEs7(Left(x0), Left(x1), ty_Integer, x2)
new_lt16(x0, x1, x2)
new_primMulNat0(Zero, Zero)
new_ltEs18(EQ, LT)
new_ltEs18(LT, EQ)
new_esEs24(x0, x1, ty_Bool)
new_esEs24(x0, x1, ty_@0)
new_ltEs7(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs23(x0, x1, ty_Int)
new_sr(Integer(x0), Integer(x1))
new_esEs23(x0, x1, app(ty_[], x2))
new_esEs20(x0, x1, ty_@0)
new_compare17(x0, x1, x2)
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs7(Right(x0), Right(x1), x2, ty_Double)
new_esEs19(x0, x1, ty_Integer)
new_esEs24(x0, x1, ty_Integer)
new_lt9(x0, x1, app(app(ty_@2, x2), x3))
new_lt11(x0, x1, x2, x3)
new_esEs7(Just(x0), Just(x1), ty_Char)
new_esEs23(x0, x1, ty_@0)
new_compare16(x0, x1)
new_compare7(:%(x0, x1), :%(x2, x3), ty_Int)
new_compare112(x0, x1, False, x2)
new_lt10(x0, x1, ty_Float)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs5(x0, x1, ty_Bool)
new_esEs20(x0, x1, ty_Ordering)
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs5(x0, x1, app(ty_Ratio, x2))
new_esEs21(x0, x1, app(ty_[], x2))
new_ltEs16(Just(x0), Just(x1), ty_Integer)
new_pePe(True, x0, x1, x2, x3)
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_lt9(x0, x1, ty_@0)
new_ltEs7(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_compare29(x0, x1, ty_Bool)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs5(Right(x0), Right(x1), x2, ty_Char)
new_lt9(x0, x1, ty_Char)
new_esEs24(x0, x1, ty_Float)
new_asAs(False, x0)
new_esEs4(@2(x0, x1), @2(x2, x3), x4, x5)
new_compare29(x0, x1, ty_Integer)
new_esEs11(False, False)
new_ltEs7(Left(x0), Left(x1), ty_Bool, x2)
new_ltEs16(Just(x0), Just(x1), ty_Int)
new_compare3([], [], x0)
new_lt10(x0, x1, app(ty_Maybe, x2))
new_esEs5(Left(x0), Right(x1), x2, x3)
new_esEs5(Right(x0), Left(x1), x2, x3)
new_esEs21(x0, x1, ty_Bool)
new_esEs12([], :(x0, x1), x2)
new_primMulNat0(Succ(x0), Succ(x1))
new_ltEs19(x0, x1, ty_Bool)
new_esEs23(x0, x1, ty_Float)
new_primPlusNat1(Zero, Zero)
new_not0
new_compare110(x0, x1, True)
new_esEs7(Just(x0), Just(x1), ty_Float)
new_compare15(Float(x0, x1), Float(x2, x3))
new_primPlusNat0(Succ(x0), x1)
new_lt20(x0, x1, ty_Int)
new_esEs14(LT, LT)
new_compare29(x0, x1, app(ty_Maybe, x2))
new_esEs5(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_ltEs4(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_lt14(x0, x1)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_compare18(x0, x1, False, x2, x3, x4)
new_lt6(x0, x1)
new_ltEs6(@2(x0, x1), @2(x2, x3), x4, x5)
new_compare210(x0, x1, True, x2, x3)
new_esEs21(x0, x1, ty_Integer)
new_esEs5(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(Just(x0), Just(x1), app(ty_[], x2))
new_primEqNat0(Zero, Succ(x0))
new_ltEs5(x0, x1, app(app(ty_Either, x2), x3))
new_esEs13(Integer(x0), Integer(x1))
new_ltEs7(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs19(x0, x1, app(ty_Ratio, x2))
new_lt13(x0, x1)
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_ltEs16(Just(x0), Just(x1), ty_Char)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_esEs10(@0, @0)
new_primCmpNat0(Zero, Succ(x0))
new_lt7(x0, x1)
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_not(GT)
new_ltEs16(Just(x0), Just(x1), ty_Float)
new_esEs19(x0, x1, ty_Double)
new_esEs19(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs8(False, False)
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_esEs8(GT)
new_esEs24(x0, x1, ty_Double)
new_ltEs10(x0, x1)
new_lt10(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_lt9(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Pos(Zero), Neg(Zero))
new_primEqInt(Neg(Zero), Pos(Zero))
new_esEs5(Left(x0), Left(x1), ty_Int, x2)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs8(False, True)
new_ltEs8(True, False)
new_lt20(x0, x1, ty_Ordering)
new_esEs19(x0, x1, ty_@0)
new_esEs5(Right(x0), Right(x1), x2, ty_@0)
new_esEs5(Right(x0), Right(x1), x2, app(ty_[], x3))
new_lt9(x0, x1, ty_Int)
new_lt17(x0, x1, x2, x3, x4)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_ltEs5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare29(x0, x1, ty_Double)
new_compare24(x0, x1, False)
new_lt10(x0, x1, ty_@0)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_ltEs16(Just(x0), Just(x1), ty_@0)
new_esEs9(x0, x1)
new_lt10(x0, x1, ty_Int)
new_esEs21(x0, x1, ty_Char)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs22(x0, x1, ty_Float)
new_primEqInt(Neg(Zero), Neg(Zero))
new_ltEs19(x0, x1, ty_Double)
new_compare29(x0, x1, app(ty_[], x2))
new_compare111(x0, x1, True, x2, x3)
new_esEs5(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs20(x0, x1, ty_Integer)
new_primPlusNat0(Zero, x0)
new_ltEs7(Right(x0), Right(x1), x2, ty_Integer)
new_primCompAux0(x0, LT)
new_ltEs16(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs12([], [], x0)
new_esEs5(Right(x0), Right(x1), x2, ty_Float)
new_esEs7(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs18(LT, LT)
new_compare14(x0, x1, False)
new_esEs21(x0, x1, ty_@0)
new_ltEs7(Left(x0), Left(x1), ty_Double, x2)
new_esEs7(Nothing, Nothing, x0)
new_ltEs7(Left(x0), Left(x1), ty_Float, x2)
new_compare23(x0, x1, True)
new_ltEs5(x0, x1, ty_Ordering)
new_ltEs16(Nothing, Nothing, x0)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_compare29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt9(x0, x1, ty_Double)
new_ltEs5(x0, x1, ty_Int)
new_lt12(x0, x1)
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_esEs20(x0, x1, ty_Int)
new_compare29(x0, x1, ty_@0)
new_compare10(x0, x1, x2, x3)
new_ltEs16(Just(x0), Just(x1), app(ty_Ratio, x2))
new_ltEs7(Right(x0), Right(x1), x2, ty_Bool)
new_ltEs19(x0, x1, ty_Float)
new_compare29(x0, x1, ty_Char)
new_esEs7(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_lt10(x0, x1, ty_Bool)
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_compare26(x0, x1, True, x2, x3, x4)
new_esEs25(x0, x1, ty_Ordering)
new_primPlusNat1(Succ(x0), Zero)
new_compare29(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs19(x0, x1, ty_Float)
new_compare3(:(x0, x1), [], x2)
new_sr0(x0, x1)
new_lt20(x0, x1, ty_@0)
new_lt9(x0, x1, app(ty_Maybe, x2))
new_ltEs18(EQ, GT)
new_ltEs18(GT, EQ)
new_ltEs5(x0, x1, ty_@0)
new_esEs5(Left(x0), Left(x1), ty_Char, x2)
new_esEs5(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_ltEs7(Right(x0), Right(x1), x2, ty_@0)
new_esEs25(x0, x1, ty_Bool)
new_esEs19(x0, x1, ty_Char)
new_compare112(x0, x1, True, x2)
new_esEs23(x0, x1, ty_Integer)
new_lt8(x0, x1, x2, x3)
new_ltEs16(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs22(x0, x1, ty_Bool)
new_primPlusNat1(Succ(x0), Succ(x1))
new_primCmpNat0(Zero, Zero)
new_ltEs16(Just(x0), Just(x1), app(ty_[], x2))
new_lt20(x0, x1, ty_Bool)
new_esEs5(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs5(Right(x0), Right(x1), x2, ty_Bool)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs16(Just(x0), Just(x1), ty_Bool)
new_compare110(x0, x1, False)
new_esEs5(Left(x0), Left(x1), ty_Float, x2)
new_ltEs5(x0, x1, ty_Char)
new_esEs25(x0, x1, ty_Float)
new_compare29(x0, x1, ty_Float)
new_esEs19(x0, x1, ty_Bool)
new_compare24(x0, x1, True)
new_lt10(x0, x1, ty_Integer)
new_compare6(x0, x1)
new_ltEs7(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_compare29(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs5(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_primEqNat0(Succ(x0), Succ(x1))
new_ltEs5(x0, x1, ty_Integer)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_lt10(x0, x1, app(ty_[], x2))
new_esEs20(x0, x1, ty_Bool)
new_esEs25(x0, x1, ty_Integer)
new_esEs7(Just(x0), Just(x1), ty_Integer)
new_esEs5(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_ltEs7(Left(x0), Left(x1), ty_Int, x2)
new_esEs7(Nothing, Just(x0), x1)
new_esEs20(x0, x1, app(ty_Ratio, x2))
new_lt9(x0, x1, ty_Integer)
new_ltEs18(EQ, EQ)
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs7(Left(x0), Left(x1), ty_@0, x2)
new_ltEs7(Right(x0), Right(x1), x2, ty_Char)
new_lt9(x0, x1, ty_Float)
new_ltEs19(x0, x1, ty_@0)
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs23(x0, x1, ty_Char)
new_ltEs5(x0, x1, app(ty_Maybe, x2))
new_not(EQ)
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_compare23(x0, x1, False)
new_ltEs7(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_compare18(x0, x1, True, x2, x3, x4)
new_esEs5(Right(x0), Right(x1), x2, ty_Double)
new_ltEs19(x0, x1, ty_Integer)
new_compare27(x0, x1, True, x2)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_esEs7(Just(x0), Just(x1), ty_Bool)
new_ltEs7(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs25(x0, x1, ty_Double)
new_compare25(x0, x1, False, x2, x3)
new_esEs5(Left(x0), Left(x1), ty_@0, x2)
new_compare29(x0, x1, app(app(ty_Either, x2), x3))
new_esEs5(Right(x0), Right(x1), x2, ty_Ordering)
new_ltEs7(Right(x0), Right(x1), x2, ty_Float)
new_lt15(x0, x1)
new_ltEs5(x0, x1, ty_Double)
new_ltEs14(x0, x1)
new_esEs25(x0, x1, ty_Char)
new_ltEs17(x0, x1)
new_lt19(x0, x1)
new_esEs5(Left(x0), Left(x1), ty_Double, x2)
new_esEs14(LT, EQ)
new_esEs14(EQ, LT)
new_compare14(x0, x1, True)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_esEs17(Double(x0, x1), Double(x2, x3))
new_ltEs18(GT, GT)
new_esEs26(x0, x1, ty_Int)
new_compare26(x0, x1, False, x2, x3, x4)
new_ltEs7(Left(x0), Left(x1), ty_Char, x2)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs7(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_primMulNat0(Zero, Succ(x0))
new_lt20(x0, x1, ty_Integer)
new_esEs14(GT, GT)
new_ltEs7(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs19(x0, x1, app(ty_[], x2))
new_ltEs7(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_esEs22(x0, x1, ty_@0)
new_primEqNat0(Succ(x0), Zero)
new_ltEs16(Just(x0), Just(x1), ty_Double)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_lt10(x0, x1, app(ty_Ratio, x2))
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_compare19(Double(x0, x1), Double(x2, x3))
new_ltEs16(Just(x0), Just(x1), app(ty_Maybe, x2))
new_ltEs7(Left(x0), Left(x1), ty_Ordering, x2)
new_ltEs19(x0, x1, ty_Int)
new_lt10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCompAux1(x0, x1, x2, x3)
new_ltEs15(x0, x1, x2)
new_esEs14(EQ, EQ)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs12(x0, x1, x2)
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt9(x0, x1, ty_Bool)
new_esEs7(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_lt18(x0, x1, x2)
new_esEs23(x0, x1, ty_Ordering)
new_ltEs11(x0, x1)
new_esEs5(Left(x0), Left(x1), ty_Ordering, x2)
new_compare12(Char(x0), Char(x1))
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, ty_Int)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, ty_Integer)
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_esEs22(x0, x1, ty_Ordering)
new_ltEs16(Just(x0), Nothing, x1)
new_primCmpNat0(Succ(x0), Succ(x1))
new_ltEs13(x0, x1)
new_esEs21(x0, x1, ty_Float)
new_compare113(x0, x1, False, x2, x3)
new_esEs15(:%(x0, x1), :%(x2, x3), x4)
new_esEs6(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_primCompAux0(x0, EQ)
new_not(LT)
new_esEs5(Right(x0), Right(x1), x2, ty_Integer)
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(Just(x0), Just(x1), app(ty_Maybe, x2))

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
                    ↳ HASKELL
                      ↳ NumRed
                        ↳ HASKELL
                          ↳ Narrow
                            ↳ AND
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
QDP
                                ↳ QDPSizeChangeProof

Q DP problem:
The TRS P consists of the following rules:

new_foldl(vwx30, :(vwx310, vwx311), ba, bb) → new_foldl(new_max1(vwx30, vwx310, ba, bb), vwx311, ba, bb)

The TRS R consists of the following rules:

new_esEs7(Just(vwx360), Just(vwx370), app(ty_Maybe, cge)) → new_esEs7(vwx360, vwx370, cge)
new_esEs22(vwx360, vwx370, ty_Double) → new_esEs17(vwx360, vwx370)
new_esEs5(Left(vwx360), Left(vwx370), ty_Bool, bd) → new_esEs11(vwx360, vwx370)
new_lt12(vwx3000, vwx31000) → new_esEs8(new_compare11(vwx3000, vwx31000))
new_esEs23(vwx362, vwx372, ty_Integer) → new_esEs13(vwx362, vwx372)
new_esEs20(vwx360, vwx370, app(ty_Maybe, bfh)) → new_esEs7(vwx360, vwx370, bfh)
new_compare112(vwx3000, vwx31000, True, cca) → LT
new_ltEs17(vwx300, vwx3100) → new_not(new_compare15(vwx300, vwx3100))
new_esEs24(vwx361, vwx371, app(app(ty_Either, dbh), dca)) → new_esEs5(vwx361, vwx371, dbh, dca)
new_ltEs7(Left(vwx3000), Left(vwx31000), ty_@0, fh) → new_ltEs14(vwx3000, vwx31000)
new_ltEs8(False, True) → True
new_ltEs7(Right(vwx3000), Right(vwx31000), fg, ty_Int) → new_ltEs11(vwx3000, vwx31000)
new_esEs12(:(vwx360, vwx361), :(vwx370, vwx371), ed) → new_asAs(new_esEs20(vwx360, vwx370, ed), new_esEs12(vwx361, vwx371, ed))
new_esEs5(Left(vwx360), Left(vwx370), ty_Ordering, bd) → new_esEs14(vwx360, vwx370)
new_compare24(vwx3000, vwx31000, False) → new_compare14(vwx3000, vwx31000, new_ltEs8(vwx3000, vwx31000))
new_esEs24(vwx361, vwx371, app(ty_Ratio, dcf)) → new_esEs15(vwx361, vwx371, dcf)
new_esEs7(Just(vwx360), Just(vwx370), app(ty_[], cgb)) → new_esEs12(vwx360, vwx370, cgb)
new_ltEs7(Left(vwx3000), Left(vwx31000), ty_Double, fh) → new_ltEs9(vwx3000, vwx31000)
new_ltEs5(vwx3002, vwx31002, ty_@0) → new_ltEs14(vwx3002, vwx31002)
new_ltEs18(EQ, GT) → True
new_esEs6(@3(vwx360, vwx361, vwx362), @3(vwx370, vwx371, vwx372), fa, fb, fc) → new_asAs(new_esEs25(vwx360, vwx370, fa), new_asAs(new_esEs24(vwx361, vwx371, fb), new_esEs23(vwx362, vwx372, fc)))
new_esEs19(vwx36, vwx37, app(ty_Ratio, eh)) → new_esEs15(vwx36, vwx37, eh)
new_esEs23(vwx362, vwx372, app(app(ty_Either, daf), dag)) → new_esEs5(vwx362, vwx372, daf, dag)
new_compare10(vwx3000, vwx31000, baa, bab) → new_compare25(vwx3000, vwx31000, new_esEs5(vwx3000, vwx31000, baa, bab), baa, bab)
new_esEs23(vwx362, vwx372, app(app(ty_@2, dba), dbb)) → new_esEs4(vwx362, vwx372, dba, dbb)
new_compare29(vwx3000, vwx31000, ty_Char) → new_compare12(vwx3000, vwx31000)
new_esEs20(vwx360, vwx370, ty_Integer) → new_esEs13(vwx360, vwx370)
new_ltEs12(vwx300, vwx3100, ga) → new_not(new_compare7(vwx300, vwx3100, ga))
new_ltEs4(@3(vwx3000, vwx3001, vwx3002), @3(vwx31000, vwx31001, vwx31002), gc, gd, ge) → new_pePe(new_lt9(vwx3000, vwx31000, gc), vwx3000, vwx31000, new_pePe(new_lt10(vwx3001, vwx31001, gd), vwx3001, vwx31001, new_ltEs5(vwx3002, vwx31002, ge), gd), gc)
new_ltEs16(Just(vwx3000), Just(vwx31000), ty_Double) → new_ltEs9(vwx3000, vwx31000)
new_esEs20(vwx360, vwx370, ty_Int) → new_esEs9(vwx360, vwx370)
new_ltEs21(vwx300, vwx3100, ty_Char) → new_ltEs10(vwx300, vwx3100)
new_ltEs19(vwx3001, vwx31001, app(ty_Ratio, ccf)) → new_ltEs12(vwx3001, vwx31001, ccf)
new_lt20(vwx3000, vwx31000, ty_@0) → new_lt6(vwx3000, vwx31000)
new_ltEs7(Left(vwx3000), Right(vwx31000), fg, fh) → True
new_primMulNat0(Zero, Zero) → Zero
new_esEs24(vwx361, vwx371, ty_Integer) → new_esEs13(vwx361, vwx371)
new_esEs7(Just(vwx360), Just(vwx370), ty_Ordering) → new_esEs14(vwx360, vwx370)
new_ltEs16(Just(vwx3000), Just(vwx31000), ty_Char) → new_ltEs10(vwx3000, vwx31000)
new_compare29(vwx3000, vwx31000, ty_Bool) → new_compare11(vwx3000, vwx31000)
new_ltEs5(vwx3002, vwx31002, app(ty_Maybe, bdh)) → new_ltEs16(vwx3002, vwx31002, bdh)
new_sr(Integer(vwx30000), Integer(vwx310010)) → Integer(new_primMulInt(vwx30000, vwx310010))
new_esEs19(vwx36, vwx37, ty_Char) → new_esEs16(vwx36, vwx37)
new_ltEs19(vwx3001, vwx31001, ty_Double) → new_ltEs9(vwx3001, vwx31001)
new_esEs25(vwx360, vwx370, app(app(ty_@2, dde), ddf)) → new_esEs4(vwx360, vwx370, dde, ddf)
new_compare18(vwx3000, vwx31000, True, cbf, cbg, cbh) → LT
new_esEs5(Left(vwx360), Left(vwx370), ty_Char, bd) → new_esEs16(vwx360, vwx370)
new_compare7(:%(vwx3000, vwx3001), :%(vwx31000, vwx31001), ty_Int) → new_compare16(new_sr0(vwx3000, vwx31001), new_sr0(vwx31000, vwx3001))
new_esEs21(vwx361, vwx371, ty_Integer) → new_esEs13(vwx361, vwx371)
new_esEs7(Just(vwx360), Just(vwx370), ty_Int) → new_esEs9(vwx360, vwx370)
new_lt20(vwx3000, vwx31000, app(app(ty_@2, bge), bgf)) → new_lt11(vwx3000, vwx31000, bge, bgf)
new_lt6(vwx3000, vwx31000) → new_esEs8(new_compare8(vwx3000, vwx31000))
new_ltEs7(Right(vwx3000), Right(vwx31000), fg, ty_Float) → new_ltEs17(vwx3000, vwx31000)
new_ltEs7(Right(vwx3000), Right(vwx31000), fg, ty_Ordering) → new_ltEs18(vwx3000, vwx31000)
new_not(GT) → False
new_ltEs20(vwx300, vwx3100, ty_Int) → new_ltEs11(vwx300, vwx3100)
new_esEs19(vwx36, vwx37, ty_Int) → new_esEs9(vwx36, vwx37)
new_ltEs5(vwx3002, vwx31002, ty_Char) → new_ltEs10(vwx3002, vwx31002)
new_esEs12([], [], ed) → True
new_lt9(vwx3000, vwx31000, ty_Int) → new_lt15(vwx3000, vwx31000)
new_compare12(Char(vwx3000), Char(vwx31000)) → new_primCmpNat0(vwx3000, vwx31000)
new_ltEs21(vwx300, vwx3100, app(app(ty_@2, gg), gh)) → new_ltEs6(vwx300, vwx3100, gg, gh)
new_esEs27(vwx360, vwx370, ty_Integer) → new_esEs13(vwx360, vwx370)
new_esEs7(Just(vwx360), Just(vwx370), app(app(ty_@2, cgc), cgd)) → new_esEs4(vwx360, vwx370, cgc, cgd)
new_compare23(vwx3000, vwx31000, False) → new_compare110(vwx3000, vwx31000, new_ltEs18(vwx3000, vwx31000))
new_ltEs20(vwx300, vwx3100, ty_Double) → new_ltEs9(vwx300, vwx3100)
new_ltEs7(Left(vwx3000), Left(vwx31000), ty_Float, fh) → new_ltEs17(vwx3000, vwx31000)
new_ltEs7(Left(vwx3000), Left(vwx31000), ty_Integer, fh) → new_ltEs13(vwx3000, vwx31000)
new_esEs19(vwx36, vwx37, app(app(ty_Either, cg), bd)) → new_esEs5(vwx36, vwx37, cg, bd)
new_esEs5(Right(vwx360), Right(vwx370), cg, app(app(app(ty_@3, dh), ea), eb)) → new_esEs6(vwx360, vwx370, dh, ea, eb)
new_esEs24(vwx361, vwx371, app(ty_[], dcb)) → new_esEs12(vwx361, vwx371, dcb)
new_lt14(vwx3000, vwx31000) → new_esEs8(new_compare12(vwx3000, vwx31000))
new_esEs7(Just(vwx360), Just(vwx370), app(ty_Ratio, cgf)) → new_esEs15(vwx360, vwx370, cgf)
new_esEs19(vwx36, vwx37, ty_Float) → new_esEs18(vwx36, vwx37)
new_esEs12(:(vwx360, vwx361), [], ed) → False
new_esEs12([], :(vwx370, vwx371), ed) → False
new_ltEs7(Right(vwx3000), Right(vwx31000), fg, ty_Integer) → new_ltEs13(vwx3000, vwx31000)
new_ltEs6(@2(vwx3000, vwx3001), @2(vwx31000, vwx31001), fd, ff) → new_pePe(new_lt20(vwx3000, vwx31000, fd), vwx3000, vwx31000, new_ltEs19(vwx3001, vwx31001, ff), fd)
new_compare23(vwx3000, vwx31000, True) → EQ
new_ltEs11(vwx300, vwx3100) → new_not(new_compare16(vwx300, vwx3100))
new_compare210(vwx3000, vwx31000, False, bge, bgf) → new_compare113(vwx3000, vwx31000, new_ltEs6(vwx3000, vwx31000, bge, bgf), bge, bgf)
new_esEs22(vwx360, vwx370, app(app(ty_@2, cad), cae)) → new_esEs4(vwx360, vwx370, cad, cae)
new_esEs24(vwx361, vwx371, app(ty_Maybe, dce)) → new_esEs7(vwx361, vwx371, dce)
new_esEs14(EQ, EQ) → True
new_esEs23(vwx362, vwx372, app(ty_Maybe, dbc)) → new_esEs7(vwx362, vwx372, dbc)
new_lt15(vwx3000, vwx31000) → new_esEs8(new_compare16(vwx3000, vwx31000))
new_ltEs16(Just(vwx3000), Just(vwx31000), ty_@0) → new_ltEs14(vwx3000, vwx31000)
new_ltEs21(vwx300, vwx3100, ty_@0) → new_ltEs14(vwx300, vwx3100)
new_max1(Right(vwx300), Left(vwx3100), ba, bb) → Right(vwx300)
new_esEs5(Right(vwx360), Right(vwx370), cg, app(app(ty_@2, dd), de)) → new_esEs4(vwx360, vwx370, dd, de)
new_ltEs5(vwx3002, vwx31002, app(app(ty_@2, bcg), bch)) → new_ltEs6(vwx3002, vwx31002, bcg, bch)
new_primCmpNat0(Zero, Succ(vwx310000)) → LT
new_ltEs7(Right(vwx3000), Right(vwx31000), fg, ty_Double) → new_ltEs9(vwx3000, vwx31000)
new_lt10(vwx3001, vwx31001, ty_Double) → new_lt13(vwx3001, vwx31001)
new_ltEs15(vwx300, vwx3100, gb) → new_not(new_compare3(vwx300, vwx3100, gb))
new_esEs20(vwx360, vwx370, ty_Ordering) → new_esEs14(vwx360, vwx370)
new_ltEs20(vwx300, vwx3100, ty_Bool) → new_ltEs8(vwx300, vwx3100)
new_compare14(vwx3000, vwx31000, False) → GT
new_esEs25(vwx360, vwx370, app(app(ty_Either, ddb), ddc)) → new_esEs5(vwx360, vwx370, ddb, ddc)
new_lt10(vwx3001, vwx31001, ty_Bool) → new_lt12(vwx3001, vwx31001)
new_ltEs16(Nothing, Nothing, gf) → True
new_compare29(vwx3000, vwx31000, app(app(app(ty_@3, chh), daa), dab)) → new_compare28(vwx3000, vwx31000, chh, daa, dab)
new_esEs25(vwx360, vwx370, ty_Double) → new_esEs17(vwx360, vwx370)
new_esEs20(vwx360, vwx370, ty_Bool) → new_esEs11(vwx360, vwx370)
new_ltEs19(vwx3001, vwx31001, app(app(app(ty_@3, cch), cda), cdb)) → new_ltEs4(vwx3001, vwx31001, cch, cda, cdb)
new_esEs19(vwx36, vwx37, app(ty_Maybe, eg)) → new_esEs7(vwx36, vwx37, eg)
new_ltEs7(Left(vwx3000), Left(vwx31000), app(ty_Ratio, cdh), fh) → new_ltEs12(vwx3000, vwx31000, cdh)
new_esEs20(vwx360, vwx370, app(app(app(ty_@3, bgb), bgc), bgd)) → new_esEs6(vwx360, vwx370, bgb, bgc, bgd)
new_lt10(vwx3001, vwx31001, app(ty_Maybe, bcf)) → new_lt18(vwx3001, vwx31001, bcf)
new_primEqNat0(Zero, Zero) → True
new_esEs15(:%(vwx360, vwx361), :%(vwx370, vwx371), eh) → new_asAs(new_esEs27(vwx360, vwx370, eh), new_esEs26(vwx361, vwx371, eh))
new_esEs19(vwx36, vwx37, ty_Integer) → new_esEs13(vwx36, vwx37)
new_ltEs5(vwx3002, vwx31002, ty_Int) → new_ltEs11(vwx3002, vwx31002)
new_esEs23(vwx362, vwx372, ty_Ordering) → new_esEs14(vwx362, vwx372)
new_ltEs5(vwx3002, vwx31002, ty_Bool) → new_ltEs8(vwx3002, vwx31002)
new_lt20(vwx3000, vwx31000, ty_Int) → new_lt15(vwx3000, vwx31000)
new_compare111(vwx3000, vwx31000, False, baa, bab) → GT
new_compare14(vwx3000, vwx31000, True) → LT
new_esEs5(Left(vwx360), Left(vwx370), ty_Int, bd) → new_esEs9(vwx360, vwx370)
new_ltEs18(EQ, EQ) → True
new_max10(vwx8, vwx9, False, dad, dae) → Left(vwx8)
new_esEs20(vwx360, vwx370, app(ty_Ratio, bga)) → new_esEs15(vwx360, vwx370, bga)
new_esEs5(Right(vwx360), Right(vwx370), cg, ty_Float) → new_esEs18(vwx360, vwx370)
new_lt20(vwx3000, vwx31000, ty_Integer) → new_lt7(vwx3000, vwx31000)
new_esEs19(vwx36, vwx37, app(ty_[], ed)) → new_esEs12(vwx36, vwx37, ed)
new_lt20(vwx3000, vwx31000, ty_Float) → new_lt19(vwx3000, vwx31000)
new_ltEs21(vwx300, vwx3100, ty_Float) → new_ltEs17(vwx300, vwx3100)
new_ltEs21(vwx300, vwx3100, app(ty_Maybe, hh)) → new_ltEs16(vwx300, vwx3100, hh)
new_esEs14(GT, LT) → False
new_esEs14(LT, GT) → False
new_ltEs18(LT, LT) → True
new_ltEs19(vwx3001, vwx31001, ty_Char) → new_ltEs10(vwx3001, vwx31001)
new_lt16(vwx3000, vwx31000, cbe) → new_esEs8(new_compare3(vwx3000, vwx31000, cbe))
new_esEs25(vwx360, vwx370, ty_@0) → new_esEs10(vwx360, vwx370)
new_primPlusNat0(Succ(vwx660), vwx3100000) → Succ(Succ(new_primPlusNat1(vwx660, vwx3100000)))
new_lt10(vwx3001, vwx31001, app(app(ty_@2, bbe), bbf)) → new_lt11(vwx3001, vwx31001, bbe, bbf)
new_esEs22(vwx360, vwx370, ty_Char) → new_esEs16(vwx360, vwx370)
new_esEs5(Right(vwx360), Right(vwx370), cg, app(ty_[], dc)) → new_esEs12(vwx360, vwx370, dc)
new_lt9(vwx3000, vwx31000, ty_Integer) → new_lt7(vwx3000, vwx31000)
new_esEs16(Char(vwx360), Char(vwx370)) → new_primEqNat0(vwx360, vwx370)
new_compare29(vwx3000, vwx31000, app(app(ty_@2, chb), chc)) → new_compare13(vwx3000, vwx31000, chb, chc)
new_esEs13(Integer(vwx360), Integer(vwx370)) → new_primEqInt(vwx360, vwx370)
new_lt10(vwx3001, vwx31001, ty_Float) → new_lt19(vwx3001, vwx31001)
new_ltEs18(GT, GT) → True
new_esEs25(vwx360, vwx370, app(ty_[], ddd)) → new_esEs12(vwx360, vwx370, ddd)
new_ltEs16(Nothing, Just(vwx31000), gf) → True
new_ltEs20(vwx300, vwx3100, app(app(app(ty_@3, gc), gd), ge)) → new_ltEs4(vwx300, vwx3100, gc, gd, ge)
new_primEqInt(Neg(Succ(vwx3600)), Neg(Succ(vwx3700))) → new_primEqNat0(vwx3600, vwx3700)
new_esEs7(Just(vwx360), Just(vwx370), ty_Double) → new_esEs17(vwx360, vwx370)
new_lt17(vwx3000, vwx31000, cbf, cbg, cbh) → new_esEs8(new_compare28(vwx3000, vwx31000, cbf, cbg, cbh))
new_esEs25(vwx360, vwx370, ty_Bool) → new_esEs11(vwx360, vwx370)
new_compare113(vwx3000, vwx31000, True, bge, bgf) → LT
new_esEs22(vwx360, vwx370, app(app(app(ty_@3, cah), cba), cbb)) → new_esEs6(vwx360, vwx370, cah, cba, cbb)
new_ltEs21(vwx300, vwx3100, ty_Ordering) → new_ltEs18(vwx300, vwx3100)
new_lt7(vwx3000, vwx31000) → new_esEs8(new_compare9(vwx3000, vwx31000))
new_ltEs7(Right(vwx3000), Right(vwx31000), fg, app(ty_[], cfc)) → new_ltEs15(vwx3000, vwx31000, cfc)
new_ltEs18(LT, GT) → True
new_esEs20(vwx360, vwx370, ty_Float) → new_esEs18(vwx360, vwx370)
new_primPlusNat1(Zero, Succ(vwx31000000)) → Succ(vwx31000000)
new_primPlusNat1(Succ(vwx6600), Zero) → Succ(vwx6600)
new_esEs19(vwx36, vwx37, ty_Ordering) → new_esEs14(vwx36, vwx37)
new_lt10(vwx3001, vwx31001, app(ty_Ratio, bca)) → new_lt5(vwx3001, vwx31001, bca)
new_ltEs8(True, True) → True
new_esEs21(vwx361, vwx371, ty_Ordering) → new_esEs14(vwx361, vwx371)
new_ltEs7(Right(vwx3000), Right(vwx31000), fg, ty_Bool) → new_ltEs8(vwx3000, vwx31000)
new_primCompAux1(vwx3000, vwx31000, vwx48, gb) → new_primCompAux0(vwx48, new_compare29(vwx3000, vwx31000, gb))
new_compare3([], :(vwx31000, vwx31001), gb) → LT
new_ltEs18(GT, LT) → False
new_ltEs21(vwx300, vwx3100, ty_Integer) → new_ltEs13(vwx300, vwx3100)
new_lt20(vwx3000, vwx31000, app(app(app(ty_@3, cbf), cbg), cbh)) → new_lt17(vwx3000, vwx31000, cbf, cbg, cbh)
new_ltEs21(vwx300, vwx3100, app(ty_[], hd)) → new_ltEs15(vwx300, vwx3100, hd)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_lt20(vwx3000, vwx31000, app(ty_Maybe, cca)) → new_lt18(vwx3000, vwx31000, cca)
new_ltEs16(Just(vwx3000), Just(vwx31000), app(ty_Maybe, bfb)) → new_ltEs16(vwx3000, vwx31000, bfb)
new_ltEs7(Right(vwx3000), Left(vwx31000), fg, fh) → False
new_compare3(:(vwx3000, vwx3001), [], gb) → GT
new_esEs24(vwx361, vwx371, app(app(app(ty_@3, dcg), dch), dda)) → new_esEs6(vwx361, vwx371, dcg, dch, dda)
new_esEs5(Left(vwx360), Left(vwx370), app(ty_Maybe, cb), bd) → new_esEs7(vwx360, vwx370, cb)
new_ltEs21(vwx300, vwx3100, app(app(ty_Either, ha), hb)) → new_ltEs7(vwx300, vwx3100, ha, hb)
new_ltEs21(vwx300, vwx3100, app(ty_Ratio, hc)) → new_ltEs12(vwx300, vwx3100, hc)
new_esEs5(Left(vwx360), Left(vwx370), ty_@0, bd) → new_esEs10(vwx360, vwx370)
new_lt9(vwx3000, vwx31000, app(app(app(ty_@3, bba), bbb), bbc)) → new_lt17(vwx3000, vwx31000, bba, bbb, bbc)
new_ltEs7(Left(vwx3000), Left(vwx31000), ty_Int, fh) → new_ltEs11(vwx3000, vwx31000)
new_esEs25(vwx360, vwx370, app(ty_Ratio, ddh)) → new_esEs15(vwx360, vwx370, ddh)
new_ltEs7(Left(vwx3000), Left(vwx31000), app(app(app(ty_@3, ceb), cec), ced), fh) → new_ltEs4(vwx3000, vwx31000, ceb, cec, ced)
new_primEqInt(Neg(Succ(vwx3600)), Neg(Zero)) → False
new_primEqInt(Neg(Zero), Neg(Succ(vwx3700))) → False
new_primCompAux0(vwx52, GT) → GT
new_ltEs5(vwx3002, vwx31002, ty_Integer) → new_ltEs13(vwx3002, vwx31002)
new_ltEs16(Just(vwx3000), Just(vwx31000), app(app(ty_@2, bea), beb)) → new_ltEs6(vwx3000, vwx31000, bea, beb)
new_esEs20(vwx360, vwx370, ty_@0) → new_esEs10(vwx360, vwx370)
new_lt13(vwx3000, vwx31000) → new_esEs8(new_compare19(vwx3000, vwx31000))
new_esEs5(Right(vwx360), Right(vwx370), cg, ty_Int) → new_esEs9(vwx360, vwx370)
new_esEs25(vwx360, vwx370, ty_Char) → new_esEs16(vwx360, vwx370)
new_ltEs19(vwx3001, vwx31001, app(ty_Maybe, cdc)) → new_ltEs16(vwx3001, vwx31001, cdc)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_lt9(vwx3000, vwx31000, ty_Char) → new_lt14(vwx3000, vwx31000)
new_esEs23(vwx362, vwx372, ty_Char) → new_esEs16(vwx362, vwx372)
new_compare25(vwx3000, vwx31000, False, baa, bab) → new_compare111(vwx3000, vwx31000, new_ltEs7(vwx3000, vwx31000, baa, bab), baa, bab)
new_primCmpNat0(Succ(vwx30000), Succ(vwx310000)) → new_primCmpNat0(vwx30000, vwx310000)
new_esEs11(False, False) → True
new_ltEs20(vwx300, vwx3100, app(ty_Maybe, gf)) → new_ltEs16(vwx300, vwx3100, gf)
new_primEqInt(Pos(Succ(vwx3600)), Pos(Succ(vwx3700))) → new_primEqNat0(vwx3600, vwx3700)
new_esEs23(vwx362, vwx372, app(ty_[], dah)) → new_esEs12(vwx362, vwx372, dah)
new_esEs25(vwx360, vwx370, ty_Int) → new_esEs9(vwx360, vwx370)
new_lt9(vwx3000, vwx31000, app(ty_[], bah)) → new_lt16(vwx3000, vwx31000, bah)
new_esEs5(Right(vwx360), Right(vwx370), cg, app(app(ty_Either, da), db)) → new_esEs5(vwx360, vwx370, da, db)
new_lt9(vwx3000, vwx31000, ty_@0) → new_lt6(vwx3000, vwx31000)
new_esEs5(Left(vwx360), Left(vwx370), app(ty_[], bg), bd) → new_esEs12(vwx360, vwx370, bg)
new_primEqNat0(Succ(vwx3600), Succ(vwx3700)) → new_primEqNat0(vwx3600, vwx3700)
new_esEs19(vwx36, vwx37, app(app(app(ty_@3, fa), fb), fc)) → new_esEs6(vwx36, vwx37, fa, fb, fc)
new_compare113(vwx3000, vwx31000, False, bge, bgf) → GT
new_lt9(vwx3000, vwx31000, ty_Bool) → new_lt12(vwx3000, vwx31000)
new_ltEs7(Right(vwx3000), Right(vwx31000), fg, app(ty_Ratio, cfb)) → new_ltEs12(vwx3000, vwx31000, cfb)
new_lt19(vwx3000, vwx31000) → new_esEs8(new_compare15(vwx3000, vwx31000))
new_ltEs19(vwx3001, vwx31001, app(app(ty_Either, ccd), cce)) → new_ltEs7(vwx3001, vwx31001, ccd, cce)
new_primCmpInt(Neg(Succ(vwx30000)), Neg(vwx31000)) → new_primCmpNat0(vwx31000, Succ(vwx30000))
new_compare29(vwx3000, vwx31000, app(ty_[], chg)) → new_compare3(vwx3000, vwx31000, chg)
new_compare29(vwx3000, vwx31000, app(ty_Maybe, dac)) → new_compare17(vwx3000, vwx31000, dac)
new_ltEs20(vwx300, vwx3100, app(app(ty_@2, fd), ff)) → new_ltEs6(vwx300, vwx3100, fd, ff)
new_esEs5(Right(vwx360), Right(vwx370), cg, ty_@0) → new_esEs10(vwx360, vwx370)
new_ltEs5(vwx3002, vwx31002, ty_Double) → new_ltEs9(vwx3002, vwx31002)
new_lt11(vwx3000, vwx31000, bge, bgf) → new_esEs8(new_compare13(vwx3000, vwx31000, bge, bgf))
new_ltEs19(vwx3001, vwx31001, ty_Bool) → new_ltEs8(vwx3001, vwx31001)
new_esEs7(Nothing, Nothing, eg) → True
new_ltEs9(vwx300, vwx3100) → new_not(new_compare19(vwx300, vwx3100))
new_lt10(vwx3001, vwx31001, ty_Int) → new_lt15(vwx3001, vwx31001)
new_lt20(vwx3000, vwx31000, app(ty_Ratio, bc)) → new_lt5(vwx3000, vwx31000, bc)
new_compare29(vwx3000, vwx31000, ty_Int) → new_compare16(vwx3000, vwx31000)
new_ltEs16(Just(vwx3000), Just(vwx31000), ty_Float) → new_ltEs17(vwx3000, vwx31000)
new_primEqInt(Pos(Succ(vwx3600)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(vwx3700))) → False
new_esEs22(vwx360, vwx370, ty_Integer) → new_esEs13(vwx360, vwx370)
new_ltEs20(vwx300, vwx3100, ty_Integer) → new_ltEs13(vwx300, vwx3100)
new_ltEs19(vwx3001, vwx31001, ty_Float) → new_ltEs17(vwx3001, vwx31001)
new_esEs24(vwx361, vwx371, ty_@0) → new_esEs10(vwx361, vwx371)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(vwx30000), Zero) → GT
new_ltEs16(Just(vwx3000), Just(vwx31000), ty_Ordering) → new_ltEs18(vwx3000, vwx31000)
new_esEs7(Just(vwx360), Just(vwx370), app(app(ty_Either, cfh), cga)) → new_esEs5(vwx360, vwx370, cfh, cga)
new_esEs8(LT) → True
new_compare13(vwx3000, vwx31000, bge, bgf) → new_compare210(vwx3000, vwx31000, new_esEs4(vwx3000, vwx31000, bge, bgf), bge, bgf)
new_primCmpInt(Neg(Zero), Pos(Succ(vwx310000))) → LT
new_ltEs20(vwx300, vwx3100, ty_@0) → new_ltEs14(vwx300, vwx3100)
new_esEs21(vwx361, vwx371, ty_Char) → new_esEs16(vwx361, vwx371)
new_esEs20(vwx360, vwx370, app(app(ty_Either, bfc), bfd)) → new_esEs5(vwx360, vwx370, bfc, bfd)
new_compare17(vwx3000, vwx31000, cca) → new_compare27(vwx3000, vwx31000, new_esEs7(vwx3000, vwx31000, cca), cca)
new_primPlusNat1(Succ(vwx6600), Succ(vwx31000000)) → Succ(Succ(new_primPlusNat1(vwx6600, vwx31000000)))
new_esEs21(vwx361, vwx371, ty_Double) → new_esEs17(vwx361, vwx371)
new_primEqInt(Pos(Succ(vwx3600)), Neg(vwx370)) → False
new_primEqInt(Neg(Succ(vwx3600)), Pos(vwx370)) → False
new_esEs7(Just(vwx360), Nothing, eg) → False
new_esEs7(Nothing, Just(vwx370), eg) → False
new_esEs24(vwx361, vwx371, app(app(ty_@2, dcc), dcd)) → new_esEs4(vwx361, vwx371, dcc, dcd)
new_esEs5(Right(vwx360), Right(vwx370), cg, ty_Ordering) → new_esEs14(vwx360, vwx370)
new_compare3(:(vwx3000, vwx3001), :(vwx31000, vwx31001), gb) → new_primCompAux1(vwx3000, vwx31000, new_compare3(vwx3001, vwx31001, gb), gb)
new_esEs8(GT) → False
new_esEs7(Just(vwx360), Just(vwx370), ty_Char) → new_esEs16(vwx360, vwx370)
new_lt4(vwx3000, vwx31000) → new_esEs8(new_compare6(vwx3000, vwx31000))
new_esEs19(vwx36, vwx37, ty_Bool) → new_esEs11(vwx36, vwx37)
new_esEs26(vwx361, vwx371, ty_Int) → new_esEs9(vwx361, vwx371)
new_ltEs10(vwx300, vwx3100) → new_not(new_compare12(vwx300, vwx3100))
new_primEqInt(Pos(Zero), Neg(Succ(vwx3700))) → False
new_primEqInt(Neg(Zero), Pos(Succ(vwx3700))) → False
new_esEs5(Left(vwx360), Left(vwx370), app(app(ty_@2, bh), ca), bd) → new_esEs4(vwx360, vwx370, bh, ca)
new_esEs20(vwx360, vwx370, app(ty_[], bfe)) → new_esEs12(vwx360, vwx370, bfe)
new_primCmpInt(Pos(Zero), Pos(Succ(vwx310000))) → new_primCmpNat0(Zero, Succ(vwx310000))
new_compare29(vwx3000, vwx31000, ty_Float) → new_compare15(vwx3000, vwx31000)
new_esEs23(vwx362, vwx372, ty_Double) → new_esEs17(vwx362, vwx372)
new_compare24(vwx3000, vwx31000, True) → EQ
new_lt20(vwx3000, vwx31000, ty_Ordering) → new_lt4(vwx3000, vwx31000)
new_esEs23(vwx362, vwx372, ty_Bool) → new_esEs11(vwx362, vwx372)
new_esEs24(vwx361, vwx371, ty_Ordering) → new_esEs14(vwx361, vwx371)
new_esEs5(Left(vwx360), Left(vwx370), ty_Double, bd) → new_esEs17(vwx360, vwx370)
new_esEs7(Just(vwx360), Just(vwx370), ty_Float) → new_esEs18(vwx360, vwx370)
new_lt10(vwx3001, vwx31001, ty_Char) → new_lt14(vwx3001, vwx31001)
new_esEs22(vwx360, vwx370, ty_Float) → new_esEs18(vwx360, vwx370)
new_ltEs16(Just(vwx3000), Nothing, gf) → False
new_primCompAux0(vwx52, LT) → LT
new_ltEs18(GT, EQ) → False
new_ltEs8(True, False) → False
new_esEs22(vwx360, vwx370, ty_Ordering) → new_esEs14(vwx360, vwx370)
new_ltEs21(vwx300, vwx3100, ty_Bool) → new_ltEs8(vwx300, vwx3100)
new_primPlusNat0(Zero, vwx3100000) → Succ(vwx3100000)
new_compare210(vwx3000, vwx31000, True, bge, bgf) → EQ
new_primCmpInt(Pos(Succ(vwx30000)), Pos(vwx31000)) → new_primCmpNat0(Succ(vwx30000), vwx31000)
new_lt10(vwx3001, vwx31001, ty_Integer) → new_lt7(vwx3001, vwx31001)
new_esEs23(vwx362, vwx372, ty_Float) → new_esEs18(vwx362, vwx372)
new_ltEs7(Left(vwx3000), Left(vwx31000), ty_Ordering, fh) → new_ltEs18(vwx3000, vwx31000)
new_esEs25(vwx360, vwx370, ty_Float) → new_esEs18(vwx360, vwx370)
new_ltEs18(EQ, LT) → False
new_compare6(vwx3000, vwx31000) → new_compare23(vwx3000, vwx31000, new_esEs14(vwx3000, vwx31000))
new_not0True
new_lt20(vwx3000, vwx31000, ty_Double) → new_lt13(vwx3000, vwx31000)
new_lt10(vwx3001, vwx31001, ty_@0) → new_lt6(vwx3001, vwx31001)
new_esEs5(Right(vwx360), Right(vwx370), cg, ty_Double) → new_esEs17(vwx360, vwx370)
new_esEs19(vwx36, vwx37, ty_Double) → new_esEs17(vwx36, vwx37)
new_ltEs18(LT, EQ) → True
new_ltEs16(Just(vwx3000), Just(vwx31000), app(app(app(ty_@3, beg), beh), bfa)) → new_ltEs4(vwx3000, vwx31000, beg, beh, bfa)
new_compare26(vwx3000, vwx31000, False, cbf, cbg, cbh) → new_compare18(vwx3000, vwx31000, new_ltEs4(vwx3000, vwx31000, cbf, cbg, cbh), cbf, cbg, cbh)
new_esEs21(vwx361, vwx371, app(ty_Ratio, bhe)) → new_esEs15(vwx361, vwx371, bhe)
new_esEs23(vwx362, vwx372, ty_@0) → new_esEs10(vwx362, vwx372)
new_max10(vwx8, vwx9, True, dad, dae) → Left(vwx9)
new_ltEs19(vwx3001, vwx31001, app(ty_[], ccg)) → new_ltEs15(vwx3001, vwx31001, ccg)
new_esEs22(vwx360, vwx370, ty_Bool) → new_esEs11(vwx360, vwx370)
new_esEs18(Float(vwx360, vwx361), Float(vwx370, vwx371)) → new_esEs9(new_sr0(vwx360, vwx370), new_sr0(vwx361, vwx371))
new_primCmpInt(Pos(Succ(vwx30000)), Neg(vwx31000)) → GT
new_lt5(vwx3000, vwx31000, bc) → new_esEs8(new_compare7(vwx3000, vwx31000, bc))
new_ltEs7(Right(vwx3000), Right(vwx31000), fg, app(ty_Maybe, cfg)) → new_ltEs16(vwx3000, vwx31000, cfg)
new_esEs24(vwx361, vwx371, ty_Float) → new_esEs18(vwx361, vwx371)
new_esEs21(vwx361, vwx371, app(ty_Maybe, bhd)) → new_esEs7(vwx361, vwx371, bhd)
new_primMulInt(Pos(vwx30000), Pos(vwx310000)) → Pos(new_primMulNat0(vwx30000, vwx310000))
new_esEs21(vwx361, vwx371, app(app(ty_@2, bhb), bhc)) → new_esEs4(vwx361, vwx371, bhb, bhc)
new_max11(vwx15, vwx16, True, cbc, cbd) → Right(vwx16)
new_ltEs5(vwx3002, vwx31002, ty_Float) → new_ltEs17(vwx3002, vwx31002)
new_ltEs16(Just(vwx3000), Just(vwx31000), app(ty_Ratio, bee)) → new_ltEs12(vwx3000, vwx31000, bee)
new_ltEs21(vwx300, vwx3100, app(app(app(ty_@3, he), hf), hg)) → new_ltEs4(vwx300, vwx3100, he, hf, hg)
new_ltEs20(vwx300, vwx3100, ty_Ordering) → new_ltEs18(vwx300, vwx3100)
new_esEs5(Right(vwx360), Left(vwx370), cg, bd) → False
new_esEs5(Left(vwx360), Right(vwx370), cg, bd) → False
new_primMulInt(Neg(vwx30000), Neg(vwx310000)) → Pos(new_primMulNat0(vwx30000, vwx310000))
new_compare110(vwx3000, vwx31000, True) → LT
new_ltEs20(vwx300, vwx3100, ty_Float) → new_ltEs17(vwx300, vwx3100)
new_lt9(vwx3000, vwx31000, ty_Float) → new_lt19(vwx3000, vwx31000)
new_ltEs8(False, False) → True
new_primEqNat0(Succ(vwx3600), Zero) → False
new_primEqNat0(Zero, Succ(vwx3700)) → False
new_esEs21(vwx361, vwx371, ty_@0) → new_esEs10(vwx361, vwx371)
new_esEs21(vwx361, vwx371, ty_Int) → new_esEs9(vwx361, vwx371)
new_esEs24(vwx361, vwx371, ty_Char) → new_esEs16(vwx361, vwx371)
new_compare15(Float(vwx3000, vwx3001), Float(vwx31000, vwx31001)) → new_compare16(new_sr0(vwx3000, vwx31000), new_sr0(vwx3001, vwx31001))
new_max1(Left(vwx300), Right(vwx3100), ba, bb) → Right(vwx3100)
new_esEs21(vwx361, vwx371, app(ty_[], bha)) → new_esEs12(vwx361, vwx371, bha)
new_ltEs7(Left(vwx3000), Left(vwx31000), app(app(ty_Either, cdf), cdg), fh) → new_ltEs7(vwx3000, vwx31000, cdf, cdg)
new_compare25(vwx3000, vwx31000, True, baa, bab) → EQ
new_compare110(vwx3000, vwx31000, False) → GT
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs22(vwx360, vwx370, app(ty_Ratio, cag)) → new_esEs15(vwx360, vwx370, cag)
new_lt20(vwx3000, vwx31000, app(app(ty_Either, baa), bab)) → new_lt8(vwx3000, vwx31000, baa, bab)
new_ltEs13(vwx300, vwx3100) → new_not(new_compare9(vwx300, vwx3100))
new_esEs5(Right(vwx360), Right(vwx370), cg, ty_Char) → new_esEs16(vwx360, vwx370)
new_ltEs5(vwx3002, vwx31002, app(ty_[], bdd)) → new_ltEs15(vwx3002, vwx31002, bdd)
new_ltEs16(Just(vwx3000), Just(vwx31000), ty_Int) → new_ltEs11(vwx3000, vwx31000)
new_lt10(vwx3001, vwx31001, app(app(ty_Either, bbg), bbh)) → new_lt8(vwx3001, vwx31001, bbg, bbh)
new_esEs22(vwx360, vwx370, ty_Int) → new_esEs9(vwx360, vwx370)
new_lt20(vwx3000, vwx31000, ty_Char) → new_lt14(vwx3000, vwx31000)
new_pePe(True, vwx36, vwx37, vwx38, ec) → True
new_esEs22(vwx360, vwx370, ty_@0) → new_esEs10(vwx360, vwx370)
new_compare27(vwx3000, vwx31000, False, cca) → new_compare112(vwx3000, vwx31000, new_ltEs16(vwx3000, vwx31000, cca), cca)
new_esEs24(vwx361, vwx371, ty_Int) → new_esEs9(vwx361, vwx371)
new_esEs14(EQ, LT) → False
new_esEs14(LT, EQ) → False
new_primCmpInt(Neg(Zero), Neg(Succ(vwx310000))) → new_primCmpNat0(Succ(vwx310000), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(vwx310000))) → GT
new_esEs11(True, False) → False
new_esEs11(False, True) → False
new_ltEs16(Just(vwx3000), Just(vwx31000), ty_Integer) → new_ltEs13(vwx3000, vwx31000)
new_esEs5(Left(vwx360), Left(vwx370), ty_Integer, bd) → new_esEs13(vwx360, vwx370)
new_compare29(vwx3000, vwx31000, ty_Double) → new_compare19(vwx3000, vwx31000)
new_sr0(vwx3000, vwx31000) → new_primMulInt(vwx3000, vwx31000)
new_esEs27(vwx360, vwx370, ty_Int) → new_esEs9(vwx360, vwx370)
new_ltEs19(vwx3001, vwx31001, ty_Int) → new_ltEs11(vwx3001, vwx31001)
new_esEs21(vwx361, vwx371, ty_Float) → new_esEs18(vwx361, vwx371)
new_lt8(vwx3000, vwx31000, baa, bab) → new_esEs8(new_compare10(vwx3000, vwx31000, baa, bab))
new_esEs7(Just(vwx360), Just(vwx370), app(app(app(ty_@3, cgg), cgh), cha)) → new_esEs6(vwx360, vwx370, cgg, cgh, cha)
new_esEs25(vwx360, vwx370, app(ty_Maybe, ddg)) → new_esEs7(vwx360, vwx370, ddg)
new_lt20(vwx3000, vwx31000, app(ty_[], cbe)) → new_lt16(vwx3000, vwx31000, cbe)
new_esEs21(vwx361, vwx371, ty_Bool) → new_esEs11(vwx361, vwx371)
new_esEs23(vwx362, vwx372, app(ty_Ratio, dbd)) → new_esEs15(vwx362, vwx372, dbd)
new_compare29(vwx3000, vwx31000, ty_Ordering) → new_compare6(vwx3000, vwx31000)
new_esEs14(GT, EQ) → False
new_esEs14(EQ, GT) → False
new_ltEs7(Right(vwx3000), Right(vwx31000), fg, app(app(ty_@2, cef), ceg)) → new_ltEs6(vwx3000, vwx31000, cef, ceg)
new_esEs10(@0, @0) → True
new_ltEs5(vwx3002, vwx31002, app(ty_Ratio, bdc)) → new_ltEs12(vwx3002, vwx31002, bdc)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_max11(vwx15, vwx16, False, cbc, cbd) → Right(vwx15)
new_ltEs7(Right(vwx3000), Right(vwx31000), fg, ty_Char) → new_ltEs10(vwx3000, vwx31000)
new_compare29(vwx3000, vwx31000, app(app(ty_Either, chd), che)) → new_compare10(vwx3000, vwx31000, chd, che)
new_ltEs7(Left(vwx3000), Left(vwx31000), ty_Char, fh) → new_ltEs10(vwx3000, vwx31000)
new_ltEs19(vwx3001, vwx31001, app(app(ty_@2, ccb), ccc)) → new_ltEs6(vwx3001, vwx31001, ccb, ccc)
new_ltEs7(Right(vwx3000), Right(vwx31000), fg, app(app(ty_Either, ceh), cfa)) → new_ltEs7(vwx3000, vwx31000, ceh, cfa)
new_ltEs16(Just(vwx3000), Just(vwx31000), app(app(ty_Either, bec), bed)) → new_ltEs7(vwx3000, vwx31000, bec, bed)
new_compare7(:%(vwx3000, vwx3001), :%(vwx31000, vwx31001), ty_Integer) → new_compare9(new_sr(vwx3000, vwx31001), new_sr(vwx31000, vwx3001))
new_compare9(Integer(vwx3000), Integer(vwx31000)) → new_primCmpInt(vwx3000, vwx31000)
new_asAs(False, vwx47) → False
new_compare3([], [], gb) → EQ
new_primMulInt(Neg(vwx30000), Pos(vwx310000)) → Neg(new_primMulNat0(vwx30000, vwx310000))
new_primMulInt(Pos(vwx30000), Neg(vwx310000)) → Neg(new_primMulNat0(vwx30000, vwx310000))
new_max1(Right(vwx300), Right(vwx3100), ba, bb) → new_max11(vwx300, vwx3100, new_ltEs21(vwx300, vwx3100, bb), ba, bb)
new_compare16(vwx300, vwx3100) → new_primCmpInt(vwx300, vwx3100)
new_primMulNat0(Succ(vwx300000), Zero) → Zero
new_primMulNat0(Zero, Succ(vwx3100000)) → Zero
new_esEs21(vwx361, vwx371, app(app(ty_Either, bgg), bgh)) → new_esEs5(vwx361, vwx371, bgg, bgh)
new_esEs23(vwx362, vwx372, app(app(app(ty_@3, dbe), dbf), dbg)) → new_esEs6(vwx362, vwx372, dbe, dbf, dbg)
new_esEs26(vwx361, vwx371, ty_Integer) → new_esEs13(vwx361, vwx371)
new_compare11(vwx3000, vwx31000) → new_compare24(vwx3000, vwx31000, new_esEs11(vwx3000, vwx31000))
new_esEs5(Left(vwx360), Left(vwx370), app(app(app(ty_@3, cd), ce), cf), bd) → new_esEs6(vwx360, vwx370, cd, ce, cf)
new_esEs23(vwx362, vwx372, ty_Int) → new_esEs9(vwx362, vwx372)
new_ltEs7(Left(vwx3000), Left(vwx31000), app(ty_Maybe, cee), fh) → new_ltEs16(vwx3000, vwx31000, cee)
new_esEs5(Right(vwx360), Right(vwx370), cg, ty_Integer) → new_esEs13(vwx360, vwx370)
new_not(EQ) → new_not0
new_lt9(vwx3000, vwx31000, app(ty_Maybe, bbd)) → new_lt18(vwx3000, vwx31000, bbd)
new_esEs25(vwx360, vwx370, ty_Integer) → new_esEs13(vwx360, vwx370)
new_compare28(vwx3000, vwx31000, cbf, cbg, cbh) → new_compare26(vwx3000, vwx31000, new_esEs6(vwx3000, vwx31000, cbf, cbg, cbh), cbf, cbg, cbh)
new_esEs11(True, True) → True
new_esEs7(Just(vwx360), Just(vwx370), ty_@0) → new_esEs10(vwx360, vwx370)
new_esEs20(vwx360, vwx370, ty_Double) → new_esEs17(vwx360, vwx370)
new_ltEs20(vwx300, vwx3100, app(ty_Ratio, ga)) → new_ltEs12(vwx300, vwx3100, ga)
new_compare18(vwx3000, vwx31000, False, cbf, cbg, cbh) → GT
new_esEs25(vwx360, vwx370, app(app(app(ty_@3, dea), deb), dec)) → new_esEs6(vwx360, vwx370, dea, deb, dec)
new_lt9(vwx3000, vwx31000, app(app(ty_@2, bac), bad)) → new_lt11(vwx3000, vwx31000, bac, bad)
new_esEs14(GT, GT) → True
new_ltEs5(vwx3002, vwx31002, ty_Ordering) → new_ltEs18(vwx3002, vwx31002)
new_esEs20(vwx360, vwx370, app(app(ty_@2, bff), bfg)) → new_esEs4(vwx360, vwx370, bff, bfg)
new_ltEs19(vwx3001, vwx31001, ty_@0) → new_ltEs14(vwx3001, vwx31001)
new_ltEs16(Just(vwx3000), Just(vwx31000), ty_Bool) → new_ltEs8(vwx3000, vwx31000)
new_esEs24(vwx361, vwx371, ty_Double) → new_esEs17(vwx361, vwx371)
new_esEs22(vwx360, vwx370, app(ty_[], cac)) → new_esEs12(vwx360, vwx370, cac)
new_lt18(vwx3000, vwx31000, cca) → new_esEs8(new_compare17(vwx3000, vwx31000, cca))
new_lt10(vwx3001, vwx31001, app(app(app(ty_@3, bcc), bcd), bce)) → new_lt17(vwx3001, vwx31001, bcc, bcd, bce)
new_compare29(vwx3000, vwx31000, ty_Integer) → new_compare9(vwx3000, vwx31000)
new_esEs4(@2(vwx360, vwx361), @2(vwx370, vwx371), ee, ef) → new_asAs(new_esEs22(vwx360, vwx370, ee), new_esEs21(vwx361, vwx371, ef))
new_ltEs20(vwx300, vwx3100, app(app(ty_Either, fg), fh)) → new_ltEs7(vwx300, vwx3100, fg, fh)
new_ltEs14(vwx300, vwx3100) → new_not(new_compare8(vwx300, vwx3100))
new_esEs5(Right(vwx360), Right(vwx370), cg, ty_Bool) → new_esEs11(vwx360, vwx370)
new_ltEs20(vwx300, vwx3100, app(ty_[], gb)) → new_ltEs15(vwx300, vwx3100, gb)
new_esEs7(Just(vwx360), Just(vwx370), ty_Integer) → new_esEs13(vwx360, vwx370)
new_max1(Left(vwx300), Left(vwx3100), ba, bb) → new_max10(vwx300, vwx3100, new_ltEs20(vwx300, vwx3100, ba), ba, bb)
new_esEs7(Just(vwx360), Just(vwx370), ty_Bool) → new_esEs11(vwx360, vwx370)
new_not(LT) → new_not0
new_esEs5(Left(vwx360), Left(vwx370), app(app(ty_Either, be), bf), bd) → new_esEs5(vwx360, vwx370, be, bf)
new_lt20(vwx3000, vwx31000, ty_Bool) → new_lt12(vwx3000, vwx31000)
new_compare112(vwx3000, vwx31000, False, cca) → GT
new_esEs5(Left(vwx360), Left(vwx370), app(ty_Ratio, cc), bd) → new_esEs15(vwx360, vwx370, cc)
new_lt10(vwx3001, vwx31001, app(ty_[], bcb)) → new_lt16(vwx3001, vwx31001, bcb)
new_compare27(vwx3000, vwx31000, True, cca) → EQ
new_ltEs16(Just(vwx3000), Just(vwx31000), app(ty_[], bef)) → new_ltEs15(vwx3000, vwx31000, bef)
new_esEs8(EQ) → False
new_compare26(vwx3000, vwx31000, True, cbf, cbg, cbh) → EQ
new_ltEs7(Left(vwx3000), Left(vwx31000), app(ty_[], cea), fh) → new_ltEs15(vwx3000, vwx31000, cea)
new_ltEs7(Left(vwx3000), Left(vwx31000), app(app(ty_@2, cdd), cde), fh) → new_ltEs6(vwx3000, vwx31000, cdd, cde)
new_compare111(vwx3000, vwx31000, True, baa, bab) → LT
new_primPlusNat1(Zero, Zero) → Zero
new_lt9(vwx3000, vwx31000, ty_Ordering) → new_lt4(vwx3000, vwx31000)
new_esEs21(vwx361, vwx371, app(app(app(ty_@3, bhf), bhg), bhh)) → new_esEs6(vwx361, vwx371, bhf, bhg, bhh)
new_lt10(vwx3001, vwx31001, ty_Ordering) → new_lt4(vwx3001, vwx31001)
new_ltEs5(vwx3002, vwx31002, app(app(ty_Either, bda), bdb)) → new_ltEs7(vwx3002, vwx31002, bda, bdb)
new_asAs(True, vwx47) → vwx47
new_primMulNat0(Succ(vwx300000), Succ(vwx3100000)) → new_primPlusNat0(new_primMulNat0(vwx300000, Succ(vwx3100000)), vwx3100000)
new_esEs14(LT, LT) → True
new_ltEs19(vwx3001, vwx31001, ty_Ordering) → new_ltEs18(vwx3001, vwx31001)
new_compare8(@0, @0) → EQ
new_compare29(vwx3000, vwx31000, ty_@0) → new_compare8(vwx3000, vwx31000)
new_ltEs7(Right(vwx3000), Right(vwx31000), fg, app(app(app(ty_@3, cfd), cfe), cff)) → new_ltEs4(vwx3000, vwx31000, cfd, cfe, cff)
new_esEs19(vwx36, vwx37, ty_@0) → new_esEs10(vwx36, vwx37)
new_ltEs19(vwx3001, vwx31001, ty_Integer) → new_ltEs13(vwx3001, vwx31001)
new_lt9(vwx3000, vwx31000, ty_Double) → new_lt13(vwx3000, vwx31000)
new_esEs17(Double(vwx360, vwx361), Double(vwx370, vwx371)) → new_esEs9(new_sr0(vwx360, vwx370), new_sr0(vwx361, vwx371))
new_esEs25(vwx360, vwx370, ty_Ordering) → new_esEs14(vwx360, vwx370)
new_lt9(vwx3000, vwx31000, app(ty_Ratio, bag)) → new_lt5(vwx3000, vwx31000, bag)
new_esEs9(vwx36, vwx37) → new_primEqInt(vwx36, vwx37)
new_compare29(vwx3000, vwx31000, app(ty_Ratio, chf)) → new_compare7(vwx3000, vwx31000, chf)
new_ltEs7(Left(vwx3000), Left(vwx31000), ty_Bool, fh) → new_ltEs8(vwx3000, vwx31000)
new_esEs20(vwx360, vwx370, ty_Char) → new_esEs16(vwx360, vwx370)
new_ltEs20(vwx300, vwx3100, ty_Char) → new_ltEs10(vwx300, vwx3100)
new_esEs22(vwx360, vwx370, app(app(ty_Either, caa), cab)) → new_esEs5(vwx360, vwx370, caa, cab)
new_esEs24(vwx361, vwx371, ty_Bool) → new_esEs11(vwx361, vwx371)
new_esEs5(Right(vwx360), Right(vwx370), cg, app(ty_Ratio, dg)) → new_esEs15(vwx360, vwx370, dg)
new_lt9(vwx3000, vwx31000, app(app(ty_Either, bae), baf)) → new_lt8(vwx3000, vwx31000, bae, baf)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCompAux0(vwx52, EQ) → vwx52
new_ltEs5(vwx3002, vwx31002, app(app(app(ty_@3, bde), bdf), bdg)) → new_ltEs4(vwx3002, vwx31002, bde, bdf, bdg)
new_esEs19(vwx36, vwx37, app(app(ty_@2, ee), ef)) → new_esEs4(vwx36, vwx37, ee, ef)
new_ltEs21(vwx300, vwx3100, ty_Int) → new_ltEs11(vwx300, vwx3100)
new_pePe(False, vwx36, vwx37, vwx38, ec) → new_asAs(new_esEs19(vwx36, vwx37, ec), vwx38)
new_esEs5(Left(vwx360), Left(vwx370), ty_Float, bd) → new_esEs18(vwx360, vwx370)
new_ltEs21(vwx300, vwx3100, ty_Double) → new_ltEs9(vwx300, vwx3100)
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_esEs22(vwx360, vwx370, app(ty_Maybe, caf)) → new_esEs7(vwx360, vwx370, caf)
new_esEs5(Right(vwx360), Right(vwx370), cg, app(ty_Maybe, df)) → new_esEs7(vwx360, vwx370, df)
new_ltEs7(Right(vwx3000), Right(vwx31000), fg, ty_@0) → new_ltEs14(vwx3000, vwx31000)
new_primCmpInt(Neg(Succ(vwx30000)), Pos(vwx31000)) → LT
new_compare19(Double(vwx3000, vwx3001), Double(vwx31000, vwx31001)) → new_compare16(new_sr0(vwx3000, vwx31000), new_sr0(vwx3001, vwx31001))

The set Q consists of the following terms:

new_ltEs5(x0, x1, ty_Float)
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_compare7(:%(x0, x1), :%(x2, x3), ty_Integer)
new_esEs26(x0, x1, ty_Integer)
new_compare26(x0, x1, False, x2, x3, x4)
new_esEs22(x0, x1, ty_Double)
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_esEs5(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_ltEs20(x0, x1, ty_Float)
new_compare10(x0, x1, x2, x3)
new_esEs11(True, True)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs14(EQ, GT)
new_esEs14(GT, EQ)
new_compare29(x0, x1, ty_Int)
new_compare18(x0, x1, False, x2, x3, x4)
new_ltEs7(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs23(x0, x1, ty_Bool)
new_primCmpNat0(Succ(x0), Zero)
new_esEs24(x0, x1, ty_Ordering)
new_compare113(x0, x1, True, x2, x3)
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(Just(x0), Just(x1), ty_@0)
new_compare29(x0, x1, app(ty_Maybe, x2))
new_esEs18(Float(x0, x1), Float(x2, x3))
new_esEs5(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_lt10(x0, x1, ty_Double)
new_compare25(x0, x1, False, x2, x3)
new_esEs22(x0, x1, ty_Int)
new_ltEs16(Just(x0), Just(x1), ty_Ordering)
new_lt10(x0, x1, ty_Ordering)
new_ltEs12(x0, x1, x2)
new_compare29(x0, x1, ty_Ordering)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs23(x0, x1, app(ty_[], x2))
new_compare26(x0, x1, True, x2, x3, x4)
new_esEs20(x0, x1, ty_Char)
new_esEs19(x0, x1, ty_Ordering)
new_esEs23(x0, x1, ty_Double)
new_ltEs15(x0, x1, x2)
new_esEs21(x0, x1, ty_Int)
new_ltEs16(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_compare9(Integer(x0), Integer(x1))
new_esEs7(Just(x0), Just(x1), app(ty_Ratio, x2))
new_ltEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs8(LT)
new_primCompAux0(x0, GT)
new_ltEs9(x0, x1)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_esEs11(False, True)
new_esEs11(True, False)
new_esEs5(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_ltEs21(x0, x1, ty_Bool)
new_esEs5(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_ltEs7(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_ltEs7(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_compare11(x0, x1)
new_lt9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs6(@2(x0, x1), @2(x2, x3), x4, x5)
new_compare27(x0, x1, False, x2)
new_lt20(x0, x1, ty_Float)
new_esEs7(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs8(True, True)
new_esEs25(x0, x1, ty_@0)
new_esEs24(x0, x1, ty_Char)
new_lt4(x0, x1)
new_esEs19(x0, x1, app(ty_Ratio, x2))
new_lt17(x0, x1, x2, x3, x4)
new_esEs22(x0, x1, ty_Char)
new_lt10(x0, x1, app(app(ty_@2, x2), x3))
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_esEs16(Char(x0), Char(x1))
new_ltEs19(x0, x1, ty_Ordering)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_esEs19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, ty_Int)
new_compare8(@0, @0)
new_esEs21(x0, x1, ty_Double)
new_asAs(True, x0)
new_esEs7(Just(x0), Just(x1), app(ty_[], x2))
new_esEs14(GT, LT)
new_esEs14(LT, GT)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_ltEs7(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_ltEs16(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs15(:%(x0, x1), :%(x2, x3), x4)
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_esEs21(x0, x1, ty_Ordering)
new_esEs24(x0, x1, ty_Int)
new_ltEs7(Left(x0), Left(x1), app(ty_[], x2), x3)
new_lt9(x0, x1, ty_Ordering)
new_esEs22(x0, x1, ty_Integer)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare111(x0, x1, False, x2, x3)
new_esEs12([], :(x0, x1), x2)
new_primMulNat0(Succ(x0), Zero)
new_primPlusNat1(Zero, Succ(x0))
new_ltEs7(Left(x0), Left(x1), ty_Float, x2)
new_lt20(x0, x1, ty_Char)
new_max11(x0, x1, False, x2, x3)
new_ltEs7(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs19(x0, x1, ty_Int)
new_lt10(x0, x1, ty_Char)
new_esEs7(Just(x0), Just(x1), ty_Ordering)
new_lt20(x0, x1, ty_Double)
new_ltEs16(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs20(x0, x1, ty_Float)
new_lt8(x0, x1, x2, x3)
new_ltEs18(GT, LT)
new_ltEs18(LT, GT)
new_ltEs7(Left(x0), Left(x1), ty_Char, x2)
new_esEs7(Just(x0), Just(x1), ty_Int)
new_primEqNat0(Zero, Zero)
new_ltEs4(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_ltEs7(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs20(x0, x1, ty_Double)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs7(Right(x0), Right(x1), x2, ty_Double)
new_esEs12(:(x0, x1), [], x2)
new_lt11(x0, x1, x2, x3)
new_esEs7(Nothing, Nothing, x0)
new_esEs7(Just(x0), Just(x1), ty_Double)
new_esEs5(Left(x0), Left(x1), ty_Float, x2)
new_primMulInt(Neg(x0), Neg(x1))
new_ltEs19(x0, x1, ty_Char)
new_ltEs7(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs8(EQ)
new_esEs21(x0, x1, app(ty_[], x2))
new_primMulNat0(Zero, Zero)
new_ltEs7(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_ltEs18(EQ, LT)
new_ltEs18(LT, EQ)
new_esEs24(x0, x1, ty_Bool)
new_esEs7(Nothing, Just(x0), x1)
new_ltEs7(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_compare29(x0, x1, app(ty_[], x2))
new_esEs24(x0, x1, ty_@0)
new_ltEs7(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs23(x0, x1, ty_Int)
new_sr(Integer(x0), Integer(x1))
new_esEs5(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs5(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs20(x0, x1, ty_@0)
new_ltEs7(Right(x0), Right(x1), x2, ty_Integer)
new_esEs19(x0, x1, ty_Integer)
new_esEs24(x0, x1, ty_Integer)
new_lt20(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, ty_Bool)
new_esEs7(Just(x0), Just(x1), ty_Char)
new_esEs23(x0, x1, ty_@0)
new_compare16(x0, x1)
new_max10(x0, x1, True, x2, x3)
new_compare29(x0, x1, app(app(ty_Either, x2), x3))
new_compare7(:%(x0, x1), :%(x2, x3), ty_Int)
new_lt10(x0, x1, ty_Float)
new_ltEs21(x0, x1, app(ty_Maybe, x2))
new_ltEs5(x0, x1, ty_Bool)
new_lt10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(x0, x1, ty_Ordering)
new_compare111(x0, x1, True, x2, x3)
new_ltEs16(Just(x0), Just(x1), ty_Integer)
new_ltEs7(Right(x0), Left(x1), x2, x3)
new_ltEs7(Left(x0), Right(x1), x2, x3)
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_esEs6(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs5(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_lt9(x0, x1, ty_@0)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_compare29(x0, x1, ty_Bool)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_ltEs21(x0, x1, app(app(ty_Either, x2), x3))
new_lt9(x0, x1, ty_Char)
new_esEs24(x0, x1, ty_Float)
new_asAs(False, x0)
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_compare29(x0, x1, ty_Integer)
new_esEs11(False, False)
new_compare29(x0, x1, app(ty_Ratio, x2))
new_max1(Right(x0), Left(x1), x2, x3)
new_esEs7(Just(x0), Nothing, x1)
new_max1(Left(x0), Right(x1), x2, x3)
new_max10(x0, x1, False, x2, x3)
new_ltEs16(Just(x0), Just(x1), ty_Int)
new_esEs21(x0, x1, ty_Bool)
new_primMulNat0(Succ(x0), Succ(x1))
new_ltEs19(x0, x1, ty_Bool)
new_lt10(x0, x1, app(ty_[], x2))
new_ltEs7(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs23(x0, x1, ty_Float)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_lt9(x0, x1, app(ty_Ratio, x2))
new_primPlusNat1(Zero, Zero)
new_not0
new_compare110(x0, x1, True)
new_esEs7(Just(x0), Just(x1), ty_Float)
new_compare15(Float(x0, x1), Float(x2, x3))
new_esEs5(Left(x0), Left(x1), ty_Ordering, x2)
new_primPlusNat0(Succ(x0), x1)
new_compare210(x0, x1, True, x2, x3)
new_lt20(x0, x1, ty_Int)
new_esEs14(LT, LT)
new_ltEs5(x0, x1, app(ty_Ratio, x2))
new_ltEs21(x0, x1, app(ty_Ratio, x2))
new_esEs5(Left(x0), Left(x1), ty_Integer, x2)
new_esEs5(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs21(x0, x1, app(app(ty_@2, x2), x3))
new_compare3([], :(x0, x1), x2)
new_esEs19(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_@0)
new_lt14(x0, x1)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_lt6(x0, x1)
new_compare17(x0, x1, x2)
new_esEs21(x0, x1, ty_Integer)
new_esEs19(x0, x1, app(app(ty_@2, x2), x3))
new_max11(x0, x1, True, x2, x3)
new_primEqNat0(Zero, Succ(x0))
new_esEs13(Integer(x0), Integer(x1))
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt10(x0, x1, app(ty_Maybe, x2))
new_ltEs5(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs21(x0, x1, ty_Int)
new_lt13(x0, x1)
new_compare29(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs16(Just(x0), Just(x1), ty_Char)
new_compare112(x0, x1, True, x2)
new_esEs10(@0, @0)
new_primCmpNat0(Zero, Succ(x0))
new_lt7(x0, x1)
new_not(GT)
new_ltEs16(Just(x0), Just(x1), ty_Float)
new_esEs19(x0, x1, ty_Double)
new_ltEs8(False, False)
new_ltEs21(x0, x1, ty_@0)
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_esEs8(GT)
new_esEs24(x0, x1, ty_Double)
new_ltEs10(x0, x1)
new_esEs5(Right(x0), Right(x1), x2, ty_Ordering)
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs19(x0, x1, app(ty_[], x2))
new_ltEs7(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs5(Right(x0), Right(x1), x2, ty_Bool)
new_esEs5(Right(x0), Right(x1), x2, ty_@0)
new_primEqInt(Pos(Zero), Neg(Zero))
new_primEqInt(Neg(Zero), Pos(Zero))
new_ltEs8(False, True)
new_ltEs8(True, False)
new_esEs5(Left(x0), Left(x1), ty_Int, x2)
new_lt20(x0, x1, ty_Ordering)
new_esEs19(x0, x1, ty_@0)
new_ltEs7(Right(x0), Right(x1), x2, ty_Float)
new_esEs12([], [], x0)
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_compare3(:(x0, x1), [], x2)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_lt9(x0, x1, app(ty_[], x2))
new_ltEs16(Just(x0), Nothing, x1)
new_lt9(x0, x1, ty_Int)
new_esEs5(Left(x0), Left(x1), ty_Bool, x2)
new_lt10(x0, x1, app(ty_Ratio, x2))
new_ltEs20(x0, x1, ty_Ordering)
new_ltEs5(x0, x1, app(app(ty_Either, x2), x3))
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare29(x0, x1, ty_Double)
new_compare24(x0, x1, False)
new_lt10(x0, x1, ty_@0)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_ltEs16(Just(x0), Just(x1), ty_@0)
new_esEs9(x0, x1)
new_lt10(x0, x1, ty_Int)
new_esEs21(x0, x1, ty_Char)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs22(x0, x1, ty_Float)
new_primEqInt(Neg(Zero), Neg(Zero))
new_ltEs19(x0, x1, ty_Double)
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_lt9(x0, x1, app(app(ty_@2, x2), x3))
new_esEs12(:(x0, x1), :(x2, x3), x4)
new_ltEs16(Nothing, Nothing, x0)
new_esEs20(x0, x1, ty_Integer)
new_primPlusNat0(Zero, x0)
new_primCompAux0(x0, LT)
new_ltEs16(Just(x0), Just(x1), app(ty_Ratio, x2))
new_compare28(x0, x1, x2, x3, x4)
new_ltEs20(x0, x1, ty_Char)
new_ltEs21(x0, x1, app(ty_[], x2))
new_ltEs18(LT, LT)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_compare14(x0, x1, False)
new_esEs21(x0, x1, ty_@0)
new_compare18(x0, x1, True, x2, x3, x4)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_esEs5(Left(x0), Left(x1), ty_Double, x2)
new_ltEs5(x0, x1, ty_Ordering)
new_compare23(x0, x1, True)
new_lt9(x0, x1, ty_Double)
new_ltEs5(x0, x1, ty_Int)
new_lt12(x0, x1)
new_max1(Left(x0), Left(x1), x2, x3)
new_esEs20(x0, x1, ty_Int)
new_compare29(x0, x1, ty_@0)
new_ltEs21(x0, x1, ty_Integer)
new_ltEs19(x0, x1, ty_Float)
new_lt9(x0, x1, app(ty_Maybe, x2))
new_compare29(x0, x1, ty_Char)
new_lt10(x0, x1, ty_Bool)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_Ordering)
new_primPlusNat1(Succ(x0), Zero)
new_esEs5(Right(x0), Right(x1), x2, ty_Float)
new_esEs19(x0, x1, ty_Float)
new_compare3([], [], x0)
new_ltEs21(x0, x1, ty_Double)
new_esEs5(Right(x0), Right(x1), x2, ty_Int)
new_max1(Right(x0), Right(x1), x2, x3)
new_sr0(x0, x1)
new_ltEs21(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_@0)
new_esEs20(x0, x1, app(ty_Ratio, x2))
new_ltEs18(EQ, GT)
new_ltEs18(GT, EQ)
new_pePe(False, x0, x1, x2, x3)
new_ltEs5(x0, x1, ty_@0)
new_esEs25(x0, x1, ty_Bool)
new_esEs19(x0, x1, ty_Char)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs23(x0, x1, ty_Integer)
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, ty_Bool)
new_primPlusNat1(Succ(x0), Succ(x1))
new_ltEs5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpNat0(Zero, Zero)
new_lt20(x0, x1, ty_Bool)
new_lt9(x0, x1, app(app(ty_Either, x2), x3))
new_compare13(x0, x1, x2, x3)
new_ltEs16(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs5(Left(x0), Right(x1), x2, x3)
new_esEs5(Right(x0), Left(x1), x2, x3)
new_ltEs20(x0, x1, ty_Integer)
new_ltEs16(Nothing, Just(x0), x1)
new_compare3(:(x0, x1), :(x2, x3), x4)
new_ltEs16(Just(x0), Just(x1), ty_Bool)
new_compare110(x0, x1, False)
new_compare27(x0, x1, True, x2)
new_ltEs5(x0, x1, ty_Char)
new_esEs25(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, ty_Float)
new_pePe(True, x0, x1, x2, x3)
new_ltEs20(x0, x1, ty_Double)
new_compare29(x0, x1, ty_Float)
new_esEs19(x0, x1, ty_Bool)
new_compare24(x0, x1, True)
new_lt10(x0, x1, ty_Integer)
new_compare6(x0, x1)
new_compare210(x0, x1, False, x2, x3)
new_ltEs20(x0, x1, ty_Int)
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_lt5(x0, x1, x2)
new_primEqNat0(Succ(x0), Succ(x1))
new_ltEs5(x0, x1, ty_Integer)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs20(x0, x1, ty_Bool)
new_esEs5(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs25(x0, x1, ty_Integer)
new_esEs7(Just(x0), Just(x1), ty_Integer)
new_esEs7(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs5(Left(x0), Left(x1), app(ty_[], x2), x3)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_ltEs19(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, app(ty_[], x2))
new_compare113(x0, x1, False, x2, x3)
new_esEs5(Right(x0), Right(x1), x2, ty_Integer)
new_lt16(x0, x1, x2)
new_esEs20(x0, x1, app(ty_[], x2))
new_esEs5(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_lt9(x0, x1, ty_Integer)
new_ltEs18(EQ, EQ)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_esEs5(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_ltEs7(Right(x0), Right(x1), x2, ty_@0)
new_ltEs7(Left(x0), Left(x1), ty_Int, x2)
new_ltEs7(Right(x0), Right(x1), x2, ty_Bool)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_lt9(x0, x1, ty_Float)
new_ltEs19(x0, x1, ty_@0)
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_not(EQ)
new_esEs23(x0, x1, ty_Char)
new_compare23(x0, x1, False)
new_lt18(x0, x1, x2)
new_ltEs19(x0, x1, ty_Integer)
new_ltEs21(x0, x1, ty_Float)
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_esEs7(Just(x0), Just(x1), ty_Bool)
new_esEs25(x0, x1, ty_Double)
new_compare112(x0, x1, False, x2)
new_esEs22(x0, x1, app(ty_[], x2))
new_ltEs7(Left(x0), Left(x1), ty_Integer, x2)
new_esEs5(Left(x0), Left(x1), ty_Char, x2)
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_lt15(x0, x1)
new_esEs7(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_ltEs5(x0, x1, ty_Double)
new_compare25(x0, x1, True, x2, x3)
new_ltEs14(x0, x1)
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs5(Right(x0), Right(x1), x2, ty_Double)
new_ltEs17(x0, x1)
new_esEs25(x0, x1, ty_Char)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_lt19(x0, x1)
new_esEs4(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs14(LT, EQ)
new_esEs14(EQ, LT)
new_compare14(x0, x1, True)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_esEs17(Double(x0, x1), Double(x2, x3))
new_ltEs18(GT, GT)
new_esEs26(x0, x1, ty_Int)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs7(Right(x0), Right(x1), x2, ty_Char)
new_primMulNat0(Zero, Succ(x0))
new_esEs14(GT, GT)
new_lt20(x0, x1, ty_Integer)
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_esEs22(x0, x1, ty_@0)
new_esEs7(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs24(x0, x1, app(ty_[], x2))
new_primEqNat0(Succ(x0), Zero)
new_ltEs16(Just(x0), Just(x1), ty_Double)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_compare19(Double(x0, x1), Double(x2, x3))
new_ltEs21(x0, x1, ty_Char)
new_ltEs19(x0, x1, ty_Int)
new_ltEs7(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_ltEs5(x0, x1, app(ty_Maybe, x2))
new_esEs14(EQ, EQ)
new_ltEs16(Just(x0), Just(x1), app(ty_[], x2))
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs7(Right(x0), Right(x1), x2, ty_Int)
new_primCompAux1(x0, x1, x2, x3)
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt9(x0, x1, ty_Bool)
new_compare29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs23(x0, x1, ty_Ordering)
new_ltEs11(x0, x1)
new_compare12(Char(x0), Char(x1))
new_primEqInt(Pos(Zero), Pos(Zero))
new_ltEs7(Left(x0), Left(x1), ty_@0, x2)
new_esEs27(x0, x1, ty_Int)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs7(Left(x0), Left(x1), ty_Double, x2)
new_esEs5(Right(x0), Right(x1), x2, ty_Char)
new_esEs5(Left(x0), Left(x1), ty_@0, x2)
new_ltEs7(Left(x0), Left(x1), ty_Bool, x2)
new_esEs27(x0, x1, ty_Integer)
new_esEs22(x0, x1, ty_Ordering)
new_ltEs5(x0, x1, app(ty_[], x2))
new_primCmpNat0(Succ(x0), Succ(x1))
new_ltEs13(x0, x1)
new_esEs21(x0, x1, ty_Float)
new_primCompAux0(x0, EQ)
new_not(LT)
new_lt10(x0, x1, app(app(ty_Either, x2), x3))

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs: